---
schema_version: "1"
id: 66fd3db8396607f9434dfb8eaec1b3e90ffcb4ebccef163b18116fcdf43ca823
title: Inventory Impex (OCI)
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/commerce-cloud/commerce-api/references/generated-api-specs/impex.md
canonical_url: https://developer.salesforce.com/docs/commerce/commerce-api/references/impex
source_site: developer.salesforce.com
content_type: documentation
content_hash: dd6cd16fa0a855d38c0993a1cf68dab7e14823388890ac4fff108ad0d4a43187
products:
  - B2C Commerce API
  - Salesforce APIs
---
Inventory Impex (OCI)

# Inventory Impex (OCI)

[Download API specification](https://developer.salesforce.com/static/commercecloud/commerce-api/impex/impex-oas-v1-public.yaml)

## API Overview

Inventory Impex APIs enable you to manage imports and exports of inventory availability for Omnichannel Inventory (OCI).

The API can be segregated into the following functional categories.

| Category | Endpoint Description |
| --- | --- |
| Inventory Imports and Exports | API endpoints for importing and exporting inventory availability data. |

**Note**: Omnichannel Inventory uses the Tenant Group ID in place of the Organization ID. For more information, see [Commerce API Configuration Values](https://developer.salesforce.com/docs/commerce/commerce-api/guide/commerce-api-configuration-values.html).

### Rate Limits

For load shedding and rate limiting information, see [Load Shedding and Rate Limiting.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/throttle-rates.html)

### Best Practices

For best practices information, see [Inventory Impex Best Practices.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/inventory-impex-best-practices.html)

### Authentication and Authorization

Clients calling Omnichannel Inventory can be authenticated in one of two ways.

*   Authenticate using Account Manager with your B2C Commerce credentials.
*   Authenticate using your Salesforce org credentials.

If you’re using both B2C Commerce and Salesforce Order Management, you can use either authentication approach. However, we recommend choosing only one to avoid mixing approaches across your integrations.

The different authentication approaches don’t impact the purpose or performance of the APIs.

Each authentication approach uses a unique set of scopes.

| Scopes for Account Manager Authentication | Scopes for Salesforce org Authentication |
| --- | --- |
| sfcc.inventory.impex-graphs | sfcc\_inventory\_impex\_graphs |
| sfcc.inventory.impex-inventory.rw | sfcc\_inventory\_impex\_inventory\_rw |
| sfcc.inventory.impex-inventory | sfcc\_inventory\_impex\_inventory |
| sfcc.inventory.availability | sfcc\_inventory\_availability |
| sfcc.inventory.availability.rw | sfcc\_inventory\_availability\_rw |
| sfcc.inventory.reservations | sfcc\_inventory\_reservations |
| sfcc.inventory.reservations.rw | sfcc\_inventory\_reservations\_rw |

Calls through the API gateway to Omnichannel Inventory must have a valid OAUTH bearer token. The tenant identifier used by Omnichannel Inventory is supplied in the header of the token.

All request and response body entities are composed in JSON.

### Use Cases

#### Availability Inventory Imports and Exports

Use these API endpoints to import and export item availability data and read deltas (changes).

Omnichannel Inventory stores items for each SKU, keeping a tally of the following item availability properties.

| Availability Property | Description |
| --- | --- |
| `Available to Fulfill` | Inventory that can be fulfilled now (`Quantity on Hand` - `Quantity Reserved`). |
| `Available to Order` | Inventory that can be ordered ((`Quantity on Hand` + `Future Inventory`) - `Quantity Reserved`). |
| `Quantity on Hand` | Inventory available, not counting `Future Inventory` or `Quantity Reserved`. |
| `Quantity Reserved` | Inventory reserved for fulfillment. |
| `Safety Stock Count` | Inventory quantity that is intentionally held back and not included in the counts of `Available to Order` or `Available to Fulfill` inventory. |
| `Future Inventory` | Inventory available for pre-order or backorder only. Inventory isn’t currently available and includes an expected in-stock date. |
| `Attribute Set` | Inventory attributes that can be applied to the item, for example: `groupEligibilityExclusion`. |

Use the availability-records imports _POST_ endpoint to initiate a load of the inventory availability data into Omnichannel Inventory. The details of the data being imported are included in the body of the _POST_ request.

The resulting response body from the initiate call contains a link to submit the actual import data stream/file. If the file being uploaded into the system is larger than 100 MB, the file _must_ be compressed with gzip.

After the file has been successfully uploaded to the OCI system, the status of the import can be checked by making calls to the availability-records imports status endpoint. When using this endpoint in conjunction with the importId used in the file upload, you can see if the import process has completed yet.

After the file has been successfully processed by OCI, the response body includes a status of _COMPLETED_. Other metrics regarding the import are also included, and can be found in the documentation for the _status_ call.

Also included in the _COMPLETED_ status is the _fullResults href_. Using this URI, you can retrieve the detailed results of the completed import process.

When performing an import for item availability records, the following endpoints should be used in this order:

1.  Initiate the import with a call to the imports _POST_ URI. `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/availability-records/imports`
2.  Use the uploadLink from the response body of step one to upload the data stream/file to OCI using a _POST_ call to the endpoint provided. `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/availability-records/imports/uploadlink/{uploadLinkId}`
3.  After the file has been uploaded into OCI, you can use a _GET_ call to the importStatusLink that was provided in the response body to initiate call (step one) to check on the status of the processing of your import data. `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/availability-records/imports/{importId}/status`
4.  After the status field in the response body returned from step 3 is _COMPLETED_, the import of the availability record data into OCI is complete. The status response includes a _fullResults href_ field that has a URI for retrieving the details about the completed import process. This information is retrieved with a _GET_ call to the provided URI. `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/availability-records/imports/{importId}/file-content`

Following the steps in this order, with the endpoints indicated, allows you to successfully import availability records into OCI.

##### Location Inventory Import File Layout - High-Performance

It’s strongly encouraged that all new customer implementations use this import file layout. Existing customer implementations that use the legacy layout should also migrate to using this new layout so that they can capture the performance improvements. This layout combines the **Location Header** and **Location Inventory** _objects_ of the original specification, into 1 entity. The system doesn’t support mixing content of the original layout and the new one. The import file must be composed entirely using the High-Performance Layout or the Legacy Layout.

**Important**: In order to realize the performance improvement, the file must be constructed such that the SKUs are grouped together, as in the following example.

**Note**: The `mode` is assumed to be `UPDATE` since it's currently the only one supported.

`{"recordId":"0a87539d-f3dd-47bc-91c7-9c752e39dbe0","onHand":10,"sku":"sku1","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"attributeSet":{"groupEligibilityExclusion":["GroupA","GroupB"]},"locationId":"wickenburg"}`

`{"recordId":"3127e2ad-748b-459a-917c-78bef741602c","onHand":10,"sku":"sku1","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"attributeSet":{"groupEligibilityExclusion":["GroupA","GroupB"]},"locationId":"prescott"}`

`{"recordId":"b709e7a8-7d4f-4458-be0c-a88f1e594f1d","onHand":10,"sku":"sku2","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"attributeSet":{"groupEligibilityExclusion":["GroupA","GroupB"]},"locationId":"wickenburg"}`

`{"recordId":"b34c99ea-e659-40f7-bcb4-2a3fdc4a80b0","onHand":10,"sku":"sku2","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"attributeSet":{"groupEligibilityExclusion":["GroupA","GroupB"]},"locationId":"prescott"}`

`{"recordId":"4bf7b40b-c965-485c-afa0-cc56a8ea70eb","onHand":10,"sku":"sku3","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"locationId":"wickenburg"}`

`{"recordId":"539d41b7-5f05-4908-831b-3dd0461794fc","onHand":10,"sku":"sku3","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"locationId":"prescott"}`

There are no other requirements for indicating that you’re using the High-Performance Layout. The system reads the file and automatically determines how to process it.

For information regarding the field contents, see the **Import Field Definitions** section below.

##### Location Inventory Import File Layout - CSV

CSV file imports are also supported. To submit a CSV file, the call to initiate the import must have the fileType field set to CSV. This allows you to submit a file in the following format.

Areas of interest in the CSV formatted import file are the header line, as well as the method for including futures. Because CSV files aren't ideal for handling nested structures like JSON files are, the futures must be represented in the manner shown. Using this format allows for two futures to be applied to each item during the import process.

Location ID,SKU,Quantity On Hand,Safety Stock,Effective Date,Future Date 1,Future Quantity 1,Future Date 2,Future Quantity 2,Group Eligibility Exclusion warehouse,red\_shirt,10,1,2020-04-08T14:05:22.790896-07:00,2020-04-18T14:05:22.781-07:00,10,2020-05-18T14:05:22.781-07:00,100,"\[G1, G2\]" warehouse-2,white\_shirt,200,10,2020-04-08T14:05:22.790896-07:00,,,,,

##### Location Inventory Import File Layout - Legacy

**Note**: The system still supports this import file layout, but due to lower performance, we recommend that users migrate away from using this layout. For more details, see the **Import File Layout High Performance** section.

The import data stream specifies inventory availability data by location and the kind of import operation Omnichannel Inventory should perform (for example, `UPDATE`, `DELETE`, or `REPLACE`). The stream consists of 2 types of json entities separated by line feeds: **Location Header** and **Location Inventory.**

For information regarding the field contents, see the **Import Field Definitions** section.

**Important**: The **Location Header** entity has a one-to-many relationship with the **Location Inventory** entity. For each Location Header, one or more Location Inventory entities should follow for the same location. Although placing a Location Header above each Location Inventory entity is allowed, it leads to _significantly slower_ import processing!

`{"location":"wickenburg","mode":"UPDATE"}`

`{"recordId":"0a87539d-f3dd-47bc-91c7-9c752e39dbe0","onHand":10,"sku":"sku1","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0}`

`{"recordId":"f4bf981e-321e-42bd-851f-3573a3263ab1","onHand":5,"sku":"sku2","effectiveDate":"2020-04-08T14:05:22.790896-07:00","safetyStockCount":1}`

##### Import Field Definitions

Location Header:

| Field | Description | Required Field |
| --- | --- | --- |
| `location` | The physical location where inventory is housed. | `TRUE` |
| `mode` | The type of system operation to perform. Currently, only `UPDATE` is supported | `TRUE` |

Location Inventory:

| Field | Description | Required Field |
| --- | --- | --- |
| `recordId` | Unique identifier of inventory record. | `TRUE` |
| `sku` | Unique item identifier. Cannot contain : \\ < > ; % / or spaces, tabs, and line breaks. | `TRUE` |
| `onHand` | The current quantity on hand. | `FALSE` |
| `effectiveDate` | The effective date of the `onHand` (ISO format). | `FALSE`, see the additional description below for more detail. |
| `futures` | A collection of future quantity information for the item. (See Future Quantity, below.) Note: the Inventory Availability API references `futures` in a collection called, `futureStock`. These are the same thing. | `FALSE`, If specified see the required fields below. |
| `attributeSet` | Attributes that can be applied to the item. (See Attribute Set, below for available attributes.) | `FALSE`, If specified see the required fields below. |
| `safetyStockCount` | The safety stock count. | `FALSE` |

Future Quantity:

| Field | Description | Required Field |
| --- | --- | --- |
| `quantity` | The quantity that will be arriving in the future. **The value must be greater than 0.** | `TRUE` |
| `expectedDate` | The date the future quantity is expected to arrive (ISO format). | `TRUE` |

Attribute Set:

| Field | Description | Required Field |
| --- | --- | --- |
| `groupEligibilityExclusion` | The groups that are excluded from aggregating the location/sku | `FALSE` |

The response from the call to submit contains a custom endpoint for checking the status and progress of the import. The status response contains a URI for the full result file for any records that failed to load, if there are any. Omnichannel Inventory also provides endpoints for querying and deleting import jobs.

Availability Effective Date:

The `effectiveDate` field represents the time the `onHand` value was accurate at the physical location. It’s used in conjunction with the reservation fulfillment field, `fulfillmentTime` to keep `onHand` in sync with the physical location. For example, if `effectiveDate` is specified on a location record, the system will optionally decrement the value of `onHand` when a Reservation Fulfillment is made. See the [Inventory Reservation API](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=inventory-reservation-service:Summary) for more information on how Reservation Fulfillments work.

Example:

Import happens for SKU: `abc` at location: `123`, and the value of `onHand` accounts for a Reservation Fulfillment that hasn't yet processed in OCI.

Note: The JSON is shown formatted here, however in the actual import file it _must_ all be on a single line.

```
   {
    "recordId":"a26fe1fd-c413-4b74-8570-1ec185ca7192",
    "onHand":10,
    "sku":"abc",
    "effectiveDate":"2021-03-09T00:00:00.000000-07:00"
   }
```

Reservation Fulfillment Request happens after the import for SKU: `abc` at location: `123`

```
{
    "records": [
      {
        "id": "82251928-8863-488e-840b-2aebd10b57ba",
        "location": "123",
        "sku": "abc",
        "fulfillmentTime":"2021-03-08T00:00:00.000000-07:00"
        "quantity": 1
      }
    ]
  }
```

The system compares the values of `effectiveDate` and `fulfillmentTime`. Since `fulfillmentTime` is _less_ than `effectiveDate` it does _not_ decrement the value of `onHand`. If the reservation fulfillment happened first, `onHand` would be decremented (assuming the previous value of `effectiveDate` was less than `fulfillmentTime`). Then when the system performed the inventory import, the value of `onHand` would replace the previous value.

##### Location Inventory Import Result File Layout

The result file starts with a status line record.

`{"status": "COMPLETED_WITHOUT_ERRORS"}`

| Result Status | Description |
| --- | --- |
| `COMPLETED_WITHOUT_ERRORS` | Import completed without any errors. |
| `COMPLETED_WITH_PARTIAL_FAILURES` | Some records failed to load. |
| `FAILED` | Failed to load any records. |

Each line following the status line represents an error record.

`{"recordId": "2a3e769c-c981-4d96-ba6a-e0b821a5bbbb","locationId":"location1","sku": "sku1", "message": "Unknown"}`

| Field | Description | Required Field |
| --- | --- | --- |
| `recordId` | Unique identifier of inventory record sent in import file. | `TRUE` |
| `locationId` | Location identifier. | `TRUE` |
| `sku` | Unique item identifier of an item. Cannot contain : \\ < > ; % / or spaces, tabs, and line breaks. | `TRUE` |
| `message` | Message containing details for failure. | `TRUE` |

#### Product Segmentation Import

Use these API endpoints to import product segmentation data. This data allows SKUs to be excluded from a Location Group so customers can remove certain SKUs from a particular selling channel.

Use the product-segmentation imports _POST_ endpoint to initiate a load of the product segmentation data into Omnichannel Inventory. The details of the data being imported are included in the body of the _POST_ request.

The resulting response body from the initiate call contains a link to submit the actual import data stream/file. If the file being uploaded into the system is larger than 100 MB, the file _must_ be compressed with gzip.

After the file has been successfully uploaded to the OCI system, the status of the import can be checked by making calls to the product-segmentation imports status endpoint. When using this endpoint in conjunction with the importId used in the file upload, you can see if the import process has completed yet.

After the file has been successfully processed by OCI, the response body includes a status of _COMPLETED_. Other metrics regarding the import are also included, and can be found in the documentation for the _status_ call.

Also included in the _COMPLETED_ status is the _fullResults href_. Using this URI, you can retrieve the detailed results of the completed import process.

When performing an import for product segmentation data, the following endpoints should be used in this order:

1.  Initiate the import with a call to the imports _POST_ URI. `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/product-segmentation/imports`
2.  Use the uploadLink from the response body of step one to upload the data stream/file to OCI using a _POST_ call to the endpoint provided. `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/product-segmentation/imports/uploadlink/{uploadLinkId}`
3.  After the file has been completely uploaded into OCI, you can use a _GET_ call to the importStatusLink that was provided in the response body to initiate call (step one) to check on the status of the processing of your data. `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/product-segmentation/imports/{importId}/status`
4.  After the status field in the response body returned from step 3 is _COMPLETED_, the import of the product segmentation data into OCI is complete. The status response includes a _fullResults href_ field that has a URI for retrieving the details about the completed import process. This information is retrieved with a _GET_ call to the provided URI. `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/product-segmentation/exports/{exportId}/file-content`

Following the steps in this order, with the endpoints indicated, allows you to successfully import product segmentation records into OCI.

#### Product Segmentation Exclusion Import File Layout

The import data stream specifies the group that is affected by the data, as well as the kind of import operation Omnichannel Inventory should perform on the exclusion (for example, `REPLACE`, `APPEND`, or `REMOVE`). The stream consists of 2 types of json entities separated by line feeds: **Group Header** and **SKU Data.**

**Important:** The **Group Header** entity has a 1-to-many relationship with the **SKU Data** entity, in that for each Group Header, one or more SKU Data entities should follow for the same group. Though placing a Group Header above each SKU Data entity is allowed, it leads to **significantly slower** import processing!

`{"groupId":"G1","mode":"REPLACE"}`

`{"sku":"sku1"}`

`{"sku":"sku2"}`

`{"groupId":"G1","mode":"APPEND"}`

`{"sku":"sku37"}`

#### Exclusion Import Field Definitions

Group Header:

| Field | Description | Required Field |
| --- | --- | --- |
| `groupId` | The group that we’re acting upon for setting exclusions. | `TRUE` |
| `mode` | The type of system operation to perform for the group. `REPLACE` all entries for group, `APPEND` new entries to the group, or `REMOVE` a set of SKUs from the group exclusion. | `TRUE` |

SKU Data:

| Field | Description | Required Field |
| --- | --- | --- |
| `sku` | The unique item identifier for an item in the group that is to be excluded. Cannot contain : \\ < > ; % / or spaces, tabs, and line breaks. | `TRUE` |

#### Product Segmentation Export

The export file is a collection of complete JSON records containing the product segmentation data, one complete entry per line.

Use this endpoint to request a snapshot of the current product segmentation exclusions. You can request a snapshop for a list of groups or all groups by using group "\*". Omnichannel inventory provides another endpoint for checking the status and progress of this operation.

The finished export is retrieved with a link that is supplied in the status check response.  
When retrieving the status for any Export or Import process, the following responses are available.

| Export Status | Description |
| --- | --- |
| `STAGING` | The request is being created. |
| `WAITING` | For imports - waiting for file upload. |
| `EXPIRED` | Request has expired. |
| `SUBMITTED` | Request has been submitted for processing - not yet queued. |
| `PENDING` | Request is queued for processing - not yet started. |
| `RUNNING` | Request is running - not yet complete. |
| `COMPLETED` | Request has finished - results file location included in response. |
| `FAILED` | Request has failed - resubmit a new request to try again. |
| `STOPPED` | Request was stopped - resubmit a new request to try again. |

#### Export Download File Layout

The export file is a collection of complete JSON records, containing one complete element per line.

##### Group Line

`{"groupId":"UnitedStates"}`

| Group Indicator Line | Description |
| --- | --- |
| `groupId` | The group that the following detail records belong to. |

##### SKU Line

`{"sku":"sku121"}`

| Group Indicator Line | Description |
| --- | --- |
| `sku` | A sku identifier that is a member of that product segmentation exclusion group. |

#### Availability Export

The export file is a collection of complete JSON records containing one complete element per line.

Use this endpoint to request a snapshot of the current inventory availability with the criteria (for example, a single group, all groups, a single location, or all locations) specified in the body of the request. Omnichannel Inventory provides another endpoint for checking the status and progress of the operation.

The finished export is retrieved with a link supplied in the status check response. The exported data contains a delta token for getting changes since the export.

When retrieving the status for any Export or Import process, the following responses are available.

| Export Status | Description |
| --- | --- |
| `STAGING` | The request is being created. |
| `WAITING` | For imports - waiting for file upload. |
| `EXPIRED` | Request has expired. |
| `SUBMITTED` | Request has been submitted for processing - not yet queued. |
| `PENDING` | Request is queued for processing - not yet started. |
| `RUNNING` | Request is running - not yet complete. |
| `COMPLETED` | Request has finished - results file location included in response. |
| `FAILED` | Request has failed - resubmit a new request to try again. |
| `STOPPED` | Request was stopped - resubmit a new request to try again. |

#### Export Download File Layout

The export file is a collection of complete JSON records, containing one complete element per line.

**Note**: The Availability Export only supports exporting either groups or locations, but not both at the same time.

##### Group Line

`{"groupId":"UnitedStates"}`

| Group Indicator Line | Description |
| --- | --- |
| `groupId` | The group that the following detail records belong to. |

##### Location Line

`{"locationId":"phoenix"}`

| Group Indicator Line | Description |
| --- | --- |
| `locationId` | The location that the following detail records belong to. |

Item Record Lines - One Complete JSON Entry Per Line:

`{"sku":"123","onHand":10,"reserved":6,"groupReserved":6,"sharedGroupReserved":0,"atf":4,"ato":24,"safetyStockCount":1,"effectiveDate":"2019-07-20T11:04:02Z","futures":[{"quantity":20,"expectedDate":"2019-07-24T21:13:00Z"}]}`

| Field | Description | Required Field |
| --- | --- | --- |
| `sku` | Unique item identifier. Cannot contain : \\ < > ; % / or spaces, tabs, and line breaks. | `TRUE` |
| `onHand` | The current quantity on hand. | `TRUE` |
| `reserved` | The current quantity reserved. | `TRUE` |
| `atf` | The current quantity available to fulfill. | `TRUE` |
| `ato` | The current quantity available to place on order. | `TRUE` |
| `effectiveDate` | The effective date (ISO format. | `FALSE` |
| `groupReserved` | The total group reservations for the group NOT including shared. This field is present only for GROUP lines in the export. | `FALSE` |
| `sharedGroupReserved` | The amount of the soft reserved count that comes from other groups. This field is present only for GROUP lines in the export. | `FALSE` |
| `safetyStockCount` | The safety stock count. | `TRUE` |
| `futures` | A collection of future quantity information for the item, as described below. The Inventory Availability API references `futures` in a collection called `futureStock`. These are the same thing. | `TRUE` |
| `attributeSet` | A collection of attributes that can be applied to the item, for example: `groupEligibilityExclusion` | `FALSE` |

Future Quantity:

| Field | Description | Required Field |
| --- | --- | --- |
| `quantity` | The quantity that will be arriving in the future. | `TRUE` |
| `expectedDate` | The date the future quantity is expected to arrive (ISO format). | `TRUE` |

Delta Token Line:

`{"deltaToken": "dsfljasdflkjasdfkj2381238"}`

The value is used in the call to retrieve deltas. This delta token is valid for 23.5 hours, after which time it expires and a new token must be obtained with another export. See the [Inventory Availability API](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=inventory-availability:Summary) for additional details.

#### Event Log Export

The export file is a collection of complete JSON records containing one complete element per line.

Use this endpoint to request the event log for a SKU within a certain set of locations and groups. Omnichannel Inventory provides another endpoint for checking the status and progress of the operation.

The finished export is retrieved with a link supplied in the status check response.

When retrieving the status for any Export or Import process, the following responses are available.

| Export Status | Description |
| --- | --- |
| `STAGING` | The request is being created. |
| `WAITING` | For imports - waiting for file upload. |
| `EXPIRED` | Request has expired. |
| `SUBMITTED` | Request has been submitted for processing - not yet queued. |
| `PENDING` | Request is queued for processing - not yet started. |
| `RUNNING` | Request is running - not yet complete. |
| `COMPLETED` | Request has finished - results file location included in response. |
| `FAILED` | Request has failed - resubmit a new request to try again. |
| `STOPPED` | Request was stopped - resubmit a new request to try again. |

#### Export Download File Layout

The export file is a collection of complete JSON records, containing one complete element per line.

##### Group Line

`{"groupId":"UnitedStates"}`

| Group Indicator Line | Description |
| --- | --- |
| `groupId` | The group that the following detail records belong to. |

##### Location Line

`{"locationId":"phoenix"}`

| Group Indicator Line | Description |
| --- | --- |
| `locationId` | The location that the following detail records belong to. |

Item Record Lines - One Complete JSON Entry Per Line:

`{"locationId":"newbraunfels"}{"eventType":"location_import","location":"newbraunfels","sequenceNumber":0,"quantity":10.0,"newReserved":0.0,`

`"newAto":11.0,"newOnHand":10.0,"newAtf":10.0,"newSoftReserved":0.0,"futureQuantity":1.0,"oldReserved":0.0,`

`"oldAto":0.0,"oldOnHand":0.0,"oldAtf":0.0,"oldSoftReserved":0.0,"createdTime":"2022-01-18T15:58:40.443Z",`

`"effectiveTime":"2020-04-08T14:05:22.795243-07:00","safetyStockCount":0.0}`

| Field | Description | Required Field |
| --- | --- | --- |
| `eventType` | The event type. | `TRUE` |
| `location` | The location associated with this event. | `TRUE` |
| `sequenceNumber` | The internal sequence number associated with the event. | `TRUE` |
| `quantity` | The item quantity. | `TRUE` |
| `newReserved` | The new reserved amount for the SKU and location. | `TRUE` |
| `newAto` | The new ATO for the item. | `TRUE` |
| `newOnHand` | The new on hand amount for the item. | `TRUE` |
| `newAtf` | The new ATF amount for the item. | `TRUE` |
| `newSoftReserved` | The new soft reservation amount for the item. | `TRUE` |
| `futureQuantity` | The future quantity for the item. | `TRUE` |
| `oldReserved` | The old reserved amount for the item, before the event took place. | `TRUE` |
| `oldAto` | The old ATO for the item, before the event took place. | `TRUE` |
| `oldOnHand` | The old on hand amount for the item, before the event took place. | `TRUE` |
| `oldAtf` | The old ATF amount for the item, before the event took place. | `TRUE` |
| `oldSoftReserved` | The old soft reserved amount, before the event took place. | `TRUE` |
| `createdTime` | The time the event was created. | `TRUE` |
| `effectiveTime` | The effective time of the event. | `TRUE` |
| `safetyStockCount` | The safety stock count value for the item. | `TRUE` |

#### Reservations Export

Use this endpoint to request the reservation documents within a certain set of dates and reservation status values. The current supported status values for a reservation are "open" and "closed". Omnichannel Inventory provides endpoints for initiating the export, checking the status and progress of the export, and for downloading the actual export file when it is complete.

The finished export is retrieved with a link supplied in the status check response.

When retrieving the status for any Export or Import process, the following responses are available.

| Export Status | Description |
| --- | --- |
| `STAGING` | The request is being created. |
| `WAITING` | For imports - waiting for file upload. |
| `EXPIRED` | Request has expired. |
| `SUBMITTED` | Request has been submitted for processing - not yet queued. |
| `PENDING` | Request is queued for processing - not yet started. |
| `RUNNING` | Request is running - not yet complete. |
| `COMPLETED` | Request has finished - results file location included in response. |
| `FAILED` | Request has failed - resubmit a new request to try again. |
| `STOPPED` | Request was stopped - resubmit a new request to try again. |

#### Export Download File Layout

The export file is a collection of complete JSON records, containing one reservation record per reservationId.

##### Header Info

{  
    "reservationId" : "5baf4a87-1841-4311-9ca9-601e5d32885b",  
    "externalRefId" : "OCI-1234567",  
    "reservationTime" : 1648718653000,  
    "reservationState" : "CLOSED",  
    "reservationDetails" : \[\]  
}

| Header Field Info | Description |
| --- | --- |
| `reservationId` | The reservationId for the exported reservation. |
| `externalRefId` | The external reference identifier for the exported reservation. This value correlates to a value in an external ordering system. |
| `reservationTime` | The time that was applied to the reservation when it was placed. |
| `reservationState` | The current state of the reservation. Current supported values are "open" and "closed". |
| `reservationDetails` | An array containing the details of the reservation in question. |

##### Reservation Details

The reservationDetails field contains an array of info related to the exported reservation.

"reservationDetails" : {  
    "group": "ACME\_US",  
    "sku" : "white-shirt-40",  
    "quantity" : 5,  
    "reservationDetailActions" \[\]  
}

| Reservation Details Info | Description |
| --- | --- |
| `group or location` | Whether this detail item is associated with a group or a location. |
| `sku` | The SKU identifier associated with this detail line. |
| `quantity` | The quantity applied to the reservation line item. |
| `reservationDetailActions` | An array of actions that have taken place for this line item in the reservation. |

##### Reservation Detail Actions

The reservationDetailActions is an array of entries tracking the actions taken on a particular reservation document. "reservationDetailActions" : \[  
      {  
         "requestId" : "3678-23456-3456-4567-9999-1232",  
         "externalRefId" : "1234561-4949-2345",  
         "quantity" : 5,  
         "action" : Reserverd,  
         timestamp : "16487200010000"  
      }  
    \]

| Reservation Actions Detail | Description |
| --- | --- |
| `requestId` | The request ID associated with this reservation action. |
| `externalRefId` | The external reference identifier for the exported action. This value correlates to a value in an external ordering system. |
| `quantity` | The quantity associated with this reservaiton action. |
| `action` | The action that was taken against this line item. |
| `timestamp` | The time that the action was taken. |

### Common Response Codes

The following error codes apply to all API endpoints. See the API documentation for a complete list of the error codes and response bodies that can be expected on each endpoint.

*   401 - The OATH bearer token isn’t valid for the tenant or is no longer valid. The response body has the details.
*   403 - The tenant isn’t provisioned in the system.
*   5XX - There was a server error. The response body has the details.
*   Unknown - If an Unknown error type is returned, it indicates that an unknown internal error occurred.

### External Reference Identifier

Currently, there are a number of places where a consumer can submit an `ExternalRefId` with their request. This is to allow the consumer to submit user-generated data along with their request as a link to other external systems data. For example, if I'm pulling data from an order that has an order ID, I can submit that order ID with my reservation request as the `externalRefId`. Then, if there is a problem with the reservation, there is a way to connect it with the order in the external system that generated the error or problem. This is NOT to be confused with `externalRefId` used in Salesforce Core, or any other services. The usage is exclusive to OCI and is not used anywhere else.

### Correlation-ID

In order to facilitate tracking of operations in OCI, customers must populate a header with the name Correlation-ID, which will be passed through the CDN and sent with the request to OCI. This will help trace requests as they move throughout our service. To be accepted, the correlation-id must be a valid UUIDv2, otherwise, it will be ignored.

When a web-request is passed through the CDN, the CDN's x-correlation-id header value (which comes from their ray-id) also comes into play. In this case, the correlation-id provided will be prepended to the CDN's x-correlation-id and both values will be passed through, separated by a comma.

Some services use a header X-Correlation-ID. In the case of OCI, if this header is used, it is overwritten by the CDN with a new value and the initial purpose of the header is defeated. Use the Correlation-ID instead for a consistent result.

### NoOp Inventory Records

An import record is considered a NoOp or NoOperation record if it does not change any of the following:

1.  onHand
2.  SafetyStockCount
3.  Futures (any of the values)
4.  AttributeSet (any of the values)

Consequently, NoOp inventory records will be skipped and not be reflected in the event log.

**Version:** 1.1.30

## Servers

*   `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1`
    *   `shortCode (default shortCode)`

## Security

*   `AmOAuth2` (oauth2) AccountManager OAuth 2.0 bearer token Authentication.
    *   OAuth flow clientCredentials (tokenUrl: https://account.demandware.com/dwsso/oauth2/access\_token)
    *   Scope sfcc.inventory.impex-graphs: Impex Graphs READONLY scope
    *   Scope sfcc\_inventory\_impex\_graphs: Impex Graphs READONLY scope
    *   Scope sfcc.inventory.impex-inventory: Impex Inventory READONLY scope
    *   Scope sfcc\_inventory\_impex\_inventory: Impex Inventory READONLY scope
    *   Scope sfcc.inventory.impex-inventory.rw: Impex Inventory scope
    *   Scope sfcc\_inventory\_impex\_inventory\_rw: Impex Inventory scope
    *   OAuth flow authorizationCode (authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize, tokenUrl: https://account.demandware.com/dwsso/oauth2/access\_token)
    *   Scope sfcc.inventory.impex-graphs: Impex Graphs READONLY scope
    *   Scope sfcc\_inventory\_impex\_graphs: Impex Graphs READONLY scope
    *   Scope sfcc.inventory.impex-inventory: Impex Inventory READONLY scope
    *   Scope sfcc\_inventory\_impex\_inventory: Impex Inventory READONLY scope
    *   Scope sfcc.inventory.impex-inventory.rw: Impex Inventory scope
    *   Scope sfcc\_inventory\_impex\_inventory\_rw: Impex Inventory scope

## Operations

### POST Exports the entire location graph for the specified organization.

`POST /organizations/{organizationId}/location-graph/exports`

Operation ID: `getLocationGraphExport`. Security: AmOAuth2 (sfcc.inventory.impex-graphs, sfcc\_inventory\_impex\_graphs).

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully initiated location graph export.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `InitiateLocationGraphExportResponse`.
    
    _Example: initiateLocationGraphExportSuccess_
    
    ```
    {
      "exportId": "a218f4b2-2dc3-4ea8-af6d-c75fafd62323",
      "exportStatusLink": "/inventory/impex/v1/organizations/391e7478-2d3a-414d-92fd-a2735dabfed2/location-graph/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/status"
    }
    ```
    
*   **400** Invalid request.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: getLocationGraphExport400_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "InvalidRequestParameter",
      "message": "The field 'quantity' is missing from the request body."
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example: getLocationGraphExport403_
    
    ```
    {
      "timestamp": "2020-07-06T18:10:45.927+0000",
      "status": 403,
      "error": "Forbidden",
      "message": "No message available",
      "path": "/inventory/impex/v1/organizations/myOrgId/location-graph/exports"
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### DELETE Delete the location graph export for the specified export ID.

`DELETE /organizations/{organizationId}/location-graph/exports/{exportId}`

Operation ID: `deleteLocationGraphExports`. Security: AmOAuth2 (sfcc.inventory.impex-graphs, sfcc\_inventory\_impex\_graphs).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **204** Successfully deleted the location graph.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: EntityNotFoundExample_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Export in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: ExportInProcessExample_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExportInProcess",
      "message": "Export 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Download the generated location graph export file.

`GET /organizations/{organizationId}/location-graph/exports/{exportId}/file-content`

Operation ID: `downloadLocationGraphExportFile`. Security: AmOAuth2 (sfcc.inventory.impex-graphs, sfcc\_inventory\_impex\_graphs).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully downloaded the file.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `ExportLocationGraphDownloadFile`.
    
    _Example: downloadLocationGraphExportFileSuccess_
    
    ```
    {
      "locations": [
        "l5b39d13d-0426-4349-95cb-93479e2f0166",
        "l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2",
        "ld3b3090b-11c0-4c7d-bb5f-0ca88c7da8f8",
        "ld66d773d-42d0-4915-b5c5-4e981132e829",
        "l204d0639-130d-4197-9fff-65d8aa4becc5"
      ],
      "groups": [
        {
          "id": "8ae8b814-0b28-4710-8c3c-8ed95abed62e",
          "locations": [
            "l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2",
            "ld3b3090b-11c0-4c7d-bb5f-0ca88c7da8f8"
          ]
        },
        {
          "id": "a218f4b2-2dc3-4ea8-af6d-c75fafd62256",
          "locations": [
            "l5b39d13d-0426-4349-95cb-93479e2f0166",
            "ld66d773d-42d0-4915-b5c5-4e981132e829",
            "l204d0639-130d-4197-9fff-65d8aa4becc5"
          ]
        }
      ]
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** The location graph export ID does not exist.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadLocationGraphExportFile404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Export in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadLocationGraphExportFile409_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExportInProcess",
      "message": "Export 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **410** The download link is no longer available at the server.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadLocationGraphExportFile410_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExpiredResultLink",
      "message": "The download link has expired or is no longer valid."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Retrieve the status of the location graph export for the organization.

`GET /organizations/{organizationId}/location-graph/exports/{exportId}/status`

Operation ID: `getLocationGraphExportStatus`. Security: AmOAuth2 (sfcc.inventory.impex-graphs, sfcc\_inventory\_impex\_graphs).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully retrieved location group export status.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `ExportLocationGraphStatusResponse200`.
    
    _Example: getLocationGraphExportStatusSuccess_
    
    ```
    {
      "id": "a218f4b2-2dc3-4ea8-af6d-c75fafd62256",
      "status": "COMPLETED",
      "export": {
        "startTimeUTC": "2020-04-15T21:21:23.675Z",
        "endTimeUTC": "2020-04-15T21:21:23.812Z",
        "recordsProcessedCount": 7,
        "recordsExportedCount": 7
      },
      "download": {
        "downloadLink": "/inventory/impex/v1/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/location-graph/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62256/file-content",
        "downloadLinkExpirationUTC": "2020-04-16T15:21:21.93-06:00"
      },
      "validation": {
        "fileHash": "15fba5d9facf494749b9cfabdc2c8fe1c73d974b9579bc67ab293e607f3c92bb",
        "fileHashType": "SHA-256",
        "fileSize": 607
      }
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: getLocationGraphExportStatus404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Retrieve a collection of import job IDs. You can query the list of import jobs and retrieve the full collection in the response body. You can also filter the collection to only include imports where the upload link is valid or invalid (expired).

`GET /organizations/{organizationId}/availability-records/imports`

Operation ID: `getInventoryImport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    
*   `available` (query, boolean) Setting available to 'true' causes the response to only include imports where the upload link is still available and has not expired.  
    Example: `true`.

#### Responses

*   **200** Successfully retrieved a JSON array with a collection of import ID values.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `GetRunningImportsResponse`.
    
    _Example: getInventoryImportSuccess_
    
    ```
    {
      "imports": [
        "d88e54c5-23ed-4e33-a6a9-c31dc810662b",
        "da39a3ee-5e6b-4b0d-3255-bfef95601890",
        "a94a8fe5-ccb1-9ba6-1c4c-0873d391e987"
      ]
    }
    ```
    
*   **400** Invalid request.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: getInventoryImport400_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "InvalidRequestParameter",
      "message": "The field 'quantity' is missing from the request body."
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### POST Submit an inventory import.

`POST /organizations/{organizationId}/availability-records/imports`

Operation ID: `submitInventoryImport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Request body (required)

Media type: `application/json`. Schema: `InitiateImportRequestBody`.

_Example: initiateImportRequest_

```
{
  "fileName": "inventory.json",
  "fileFormat": "JSON",
  "fileEncoding": "GZIP",
  "fileHash": "15fba5d9facf494749b9cfabdc2c8fe1c73d974b9579bc67ab293e607f3c92bb",
  "fileHashType": "SHA-256",
  "linkDuration": 60
}
```

#### Responses

*   **200** Successfully submitted import.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `InitiateImportResponse200`.
    
    _Example: initiateImportSuccess_
    
    ```
    {
      "importId": "d88e54c5-23ed-4e33-a6a9-c31dc810662b",
      "importStatusLink": "/inventory/impex/v1/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/availability-records/imports/d88e54c5-23ed-4e33-a6a9-c31dc810662b/status",
      "uploadLink": "/inventory/impex/v1/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/availability-records/imports/uploadlink/d88e54c5-23ed-4e33-a6a9-c31dc810662b",
      "uploadMethod": "POST",
      "uploadLinkExpirationUTC": "2019-06-07T15:10:04.357Z"
    }
    ```
    
*   **400** Invalid request.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: submitInventoryImport400_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "InvalidRequestParameter",
      "message": "The field 'quantity' is missing from the request body."
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### DELETE Mark a single import for deletion.

`DELETE /organizations/{organizationId}/availability-records/imports/{importId}`

Operation ID: `deleteInventoryImport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `importId` (path, UniqueId, required) The import ID to act upon.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **204** Successfully deleted the requested import job.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: EntityNotFoundExample_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Import in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: ImportInProgressExample_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ImportInProgress",
      "message": "Import 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Retrieve status for the specified import ID.

`GET /organizations/{organizationId}/availability-records/imports/{importId}/status`

Operation ID: `getAvailabilityImportStatus`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `importId` (path, UniqueId, required) The import ID to act upon.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully retrieved import status.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `ImportStatusResponse200`.
    
    _Example: getAvailabilityImportStatusSuccess_
    
    ```
    {
      "importId": "a218f4b2-2dc3-4ea8-af6d-c75fafd62256",
      "status": "COMPLETED",
      "validation": {
        "status": "Success",
        "errors": []
      },
      "upload": {
        "fileName": "test.json"
      },
      "import": {
        "startTimeUTC": "2020-02-12T22:53:06.788Z",
        "endTimeUTC": "2020-02-12T22:53:08.423Z",
        "recordsProcessedCount": 4,
        "recordsReadCount": 4,
        "recordsSkippedCount": 0,
        "fullResults": {
          "href": "/v2/tenants/AtsisIntegrationTenant/availability-records/imports/a218f4b2-2dc3-4ea8-af6d-c75fafd62256/file-content",
          "exportResultExpirationUTC": "2020-02-13T15:53:05.005-07:00"
        }
      }
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: EntityNotFoundExample_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Retrieve the import file results for the specified import ID.

`GET /organizations/{organizationId}/availability-records/imports/{importId}/file-content`

Operation ID: `downloadAvailabilityImportResultsFile`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `importId` (path, UniqueId, required) The import ID to act upon.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully retrieved availability import results file.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/octet-stream`. Schema: `string (binary)`.
    
    Type: `string (binary)`.
    
    _Example: CompletedWithPartialFailures_
    
    ```
    {"recordId": "3dd924fb-2fd5-4f49-80de-6ee49439c1f0",
    "locationId": "wickenburg",
    "sku": 1,
    "message": "'quantity' quantity must be a positive value"}
    ```
    
    _Example: CompletedWithoutErrors_
    
    ```
    {"status": "COMPLETED_WITHOUT_ERRORS"}
    ```
    
    _Example: Failed_
    
    ```
    {"status": "FAILED"}
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadAvailabilityImportResultsFile404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Import in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadAvailabilityImportResultsFile409_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ImportInProgress",
      "message": "Import 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### POST Upload an import file. <br> The gateway has a filesize limit of 100MB. <br> If the file is larger than 100MB, send it in compressed format. The supported algorithm is GZIP.

`POST /organizations/{organizationId}/availability-records/imports/uploadlink/{uploadLinkId}`

Operation ID: `postUploadImportFile`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `uploadLinkId` (path, UniqueId, required) The ID of the import being uploaded.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Request body (required)

Media type: `multipart/form-data`. Schema: `object`.

*   `file` (_string (binary)_, required)

_Example: ImportsUploadLinkFileContents_

```
{"location":"wickenburg","mode":"UPDATE"}
{"recordId":"0a87539d-f3dd-47bc-91c7-9c752e39dbe0","onHand":10,"sku":"1","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"attributeSet":{"groupEligibilityExclusion":["GroupA","GroupB"]}}
{"recordId":"f4bf981e-321e-42bd-851f-3573a3263ab1","onHand":5,"sku":"sku2","effectiveDate":"2020-04-08T14:05:22.790896-07:00","safetyStockCount":1,"attributeSet":{"groupEligibilityExclusion":["GroupB","GroupC"]}}
```

#### Responses

*   **200** Successfully started the file upload. Details are available in the response body.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `ImportUploadLinkResponse200`.
    
    _Example: importUploadSuccess_
    
    ```
    {
      "status": "COMPLETED",
      "importId": "d88e54c5-23ed-4e33-a6a9-c31dc810662b"
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: postUploadImportFile404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Already received the file.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: postUploadImportFile409_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ImportInProgress",
      "message": "Import 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **410** The uploadLink URI is no longer available at the server.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: postUploadImportFile410_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExpiredResultLink",
      "message": "The download link has expired or is no longer valid."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### POST Submit product segmentation data import. Whenever a location graph import removes an existing group that has product segmentation applied, the segmentation data are removed. If the group is put back in place, the product segmentation info must be re-applied with a new import.

`POST /organizations/{organizationId}/product-segmentation/imports`

Operation ID: `submitProductSegmentationImport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Request body (required)

Media type: `application/json`. Schema: `InitiateProductSegmentationImportRequestBody`.

_Example: initiateProductSegmentationImportRequest_

```
{
  "fileName": "product_segmentation_data_import.json",
  "linkDuration": 60
}
```

#### Responses

*   **200** Successfully initiated import.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `InitiateProductSegmentationImportResponse200`.
    
    _Example: initiateProductSegmentationImportSuccess_
    
    ```
    {
      "importId": "d88e54c5-23ed-4e33-a6a9-c31dc810662b",
      "importStatusLink": "/v2/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/product-segmentation/imports/d88e54c5-23ed-4e33-a6a9-c31dc810662b/status",
      "uploadLink": "/v2/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/product-segmentation/imports/uploadlink/d88e54c5-23ed-4e33-a6a9-c31dc810662b",
      "uploadMethod": "POST",
      "uploadLinkExpirationUTC": "2019-07-24T21:13:00Z"
    }
    ```
    
*   **400** Invalid request
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: submitProductSegmentationImport400_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "InvalidRequestParameter",
      "message": "link duration must be numeric"
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### DELETE Mark a single product segmentation data import for deletion.

`DELETE /organizations/{organizationId}/product-segmentation/imports/{importId}`

Operation ID: `deleteProductSegmentationImport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `importId` (path, UniqueId, required) The import ID to act upon.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **204** Successfully deleted the requested SKU exclusion import job.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: EntityNotFoundExample_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Import in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: ImportInProgressExample_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ImportInProgress",
      "message": "Import 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Retrieve the import file results for the specified import ID. The current request limit for each tenant is 40 requests per second.

`GET /organizations/{organizationId}/product-segmentation/imports/{importId}/file-content`

Operation ID: `downloadProductSegmentationImportResults`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `importId` (path, UniqueId, required) The import ID to act upon.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully downloaded the file.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/octet-stream`. Schema: `string (binary)`.
    
    Type: `string (binary)`.
    
    _Example: downloadProductSegmentationImportResults200_
    
    ```
    {"groupId":"florida"}
    {"groupId":"texas"}
    {"sku":"21"}
    {"sku":"31"}
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadProductSegmentationImportResults404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Export in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadProductSegmentationImportResults409_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExportInProcess",
      "message": "Export 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **410** The download link is no longer available at the server.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadProductSegmentationImportResults410_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExpiredResultLink",
      "message": "The download link has expired or is no longer valid."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Retrieve status for the specified import ID.

`GET /organizations/{organizationId}/product-segmentation/imports/{importId}/status`

Operation ID: `getProductSegmentationImportStatus`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `importId` (path, UniqueId, required) The import ID to act upon.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully retrieved product segmentation import status.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `ProductSegmentationImportStatusResponse`.
    
    _Example: getProductSegmentationImportStatusSuccess_
    
    ```
    {
      "importId": "a218f4b2-2dc3-4ea8-af6d-c75fafd62256",
      "status": "COMPLETED",
      "validation": {
        "status": "Success",
        "errors": []
      },
      "upload": {
        "fileName": "test.json"
      },
      "import": {
        "startTimeUTC": "2020-02-12T22:53:06.788Z",
        "endTimeUTC": "2020-02-12T22:53:08.423Z",
        "recordsProcessedCount": 4,
        "recordsReadCount": 4,
        "recordsSkippedCount": 0,
        "fullResults": {
          "href": "/v2/tenants/8f714039-2808-4104-b444-5e8f9d923d6e/availability-records/imports/a218f4b2-2dc3-4ea8-af6d-c75fafd62256/file-content",
          "exportResultExpirationUTC": "2020-02-13T15:53:05.005-07:00"
        }
      }
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: getProductSegmentationImportStatus404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### POST Upload an import file. <br> The gateway has a filesize limit of 100MB. <br> If the file is larger than 100MB, send it in compressed format. The supported algorithm is GZIP.

`POST /organizations/{organizationId}/product-segmentation/imports/uploadlink/{uploadLinkId}`

Operation ID: `postProductSegmentationUploadImportFile`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `uploadLinkId` (path, UniqueId, required) The ID of the import being uploaded.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Request body (required)

Media type: `multipart/form-data`. Schema: `object`.

*   `file` (_string (binary)_, required)

_Example: ProductSegmentationUploadImportFileContents_

```
{"groupId":"G1","mode":"REPLACE"}
{"sku":"sku1"}
{"sku":"sku2"}
```

#### Responses

*   **200** Successfully started the file upload. Details are available in the response body.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `ImportProductSegmentationUploadLinkResponse200`.
    
    _Example: productSegmentationUploadSuccess_
    
    ```
    {
      "status": "PENDING",
      "importId": "d88e54c5-23ed-4e33-a6a9-c31dc810662b"
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: postProductSegmentationUploadImportFile404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Already received the file.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: postProductSegmentationUploadImportFile409_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "FileAlreadyReceived",
      "message": "The file for this uploadLink has already been received."
    }
    ```
    
*   **410** The uploadLink URI is no longer available at the server.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: postProductSegmentationUploadImportFile410_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExpiredUploadLink",
      "message": "The upload link has expired or is no longer valid."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### POST Initiate an export of the Product Segmentation rules in the system.

`POST /organizations/{organizationId}/product-segmentation/exports`

Operation ID: `initiateProductSegmentationExport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Request body (required)

Media type: `application/json`. Schema: `InitiateSegmentationExportBody`.

_Example: InitiateInventoryProductSegmentationExportByGroups_

```
{
  "groups": [
    "texas",
    "florida"
  ]
}
```

#### Responses

*   **200** Successfully submitted request to initiate Product Segmentation Export.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `InitiateProductSegmentationExportResponse200`.
    
    _Example: initiateProductSegmentationExportSuccess_
    
    ```
    {
      "exportId": "323b0g69-d37d-423a-84f5-8f393fe80459",
      "exportStatusLink": "/inventory/impex/v1/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/product-segmentation/exports/pe-0377a512-d107-40a0-b966-bad5a021d21f/status"
    }
    ```
    
*   **400** Invalid request.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: ProductSegmentationExportInvalidRequestParameter400_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "InvalidRequestParameter",
      "message": "Invalid Group Id Provided."
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### DELETE Delete a single export ID. The current request limit for each tenant is 120 requests per second.

`DELETE /organizations/{organizationId}/product-segmentation/exports/{exportId}`

Operation ID: `deleteProductSegmentationExport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **204** Successfully deleted a single export group ID.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: 404EntityNotFoundError_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Export in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: 409ExportInProcessError_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExportInProcess",
      "message": "Export 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Download the generated Product Segmentation export file. The current request limit for each tenant is 40 requests per second.

`GET /organizations/{organizationId}/product-segmentation/exports/{exportId}/file-content`

Operation ID: `downloadProductSegmentationExportFile`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully downloaded the file.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/octet-stream`. Schema: `string (binary)`.
    
    Type: `string (binary)`.
    
    _Example: downloadProductSegmentationExportFile_
    
    ```
    {"groupId":"florida"}
    {"groupId":"texas"}
    {"sku":"21"}
    {"sku":"31"}
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadProductSegmentationExportFile404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Export in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadProductSegmentationExportFile409_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExportInProcess",
      "message": "Export 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **410** The download link is no longer available at the server.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadProductSegmentationExportFile410_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExpiredResultLink",
      "message": "The download link has expired or is no longer valid."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Retrieve status information for a single export ID. The current request limit for each tenant is 120 requests per second.

`GET /organizations/{organizationId}/product-segmentation/exports/{exportId}/status`

Operation ID: `retrieveProductSegmentationExportStatus`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully retrieved export status.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `ExportProductSegmentationStatusResponse200`.
    
    _Example: retrieveProductSegmentationExportStatusSuccess_
    
    ```
    {
      "id": "323b0g69-d37d-423a-84f5-8f393fe80459",
      "status": "COMPLETED",
      "export": {
        "startTimeUTC": "2019-07-24T21:13:00Z",
        "endTimeUTC": "2019-07-24T21:13:00Z",
        "recordsProcessedCount": 2000,
        "recordsExportedCount": 2000
      },
      "download": {
        "downloadLink": "/inventory/impex/v1/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/product-segmentation/exports/pe-0377a512-d107-40a0-b966-bad5a021d21f/file-content",
        "downloadLinkExpirationUTC": "2019-07-24T21:13:00Z"
      },
      "validation": {
        "fileHashType": "SHA-256",
        "fileHash": "e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922",
        "fileSize": 5231942
      }
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: retrieveProductSegmentationExportStatus404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### POST Initiate an export of group or location level inventory availability. The current request limit for each tenant is 120 requests per second.

`POST /organizations/{organizationId}/availability-records/exports`

Operation ID: `initiateAvailabilityExport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Request body (required)

Media type: `application/json`. Schema: `InitiateAvailabilityExportBody`.

_Example: Locations_

```
{
  "objects": {
    "locations": [
      "warehouse5",
      "warehouse6"
    ]
  }
}
```

_Example: Groups_

```
{
  "objects": {
    "groups": [
      "UnitedStates",
      "Germany"
    ]
  }
}
```

#### Responses

*   **200** Successfully submitted request to initiate export.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `InitiateGroupExportResponse200`.
    
    _Example: initiateAvailabilityExportSuccess_
    
    ```
    {
      "exportId": "323b0g69-d37d-423a-84f5-8f393fe80459",
      "exportStatusLink": "/inventory/inventory-availability/v1/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/availability-records/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/status"
    }
    ```
    
*   **400** Invalid request.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: LocationsAndGroupsError_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "InvalidRequestParameter",
      "message": "Locations and Groups not allowed in the same request."
    }
    ```
    
    _Example: LocationDoesNotExistError_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "LocationDoesNotExist",
      "message": "No location exists with ID 'abc'"
    }
    ```
    
    _Example: GroupDoesNotExistError_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "GroupDoesNotExist",
      "message": "No group exists with ID 'abc'"
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### DELETE Delete a single export ID. The current request limit for each tenant is 120 requests per second.

`DELETE /organizations/{organizationId}/availability-records/exports/{exportId}`

Operation ID: `deleteAvailabilityExport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **204** Successfully deleted batches of export group inventory availability.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: NotFound_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Export in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: ConflictSample_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExportInProcess",
      "message": "Export 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Download the generated inventory availability export file. The current request limit for each tenant is 40 requests per second.

`GET /organizations/{organizationId}/availability-records/exports/{exportId}/file-content`

Operation ID: `downloadAvailabilityExportFile`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully downloaded the file.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/octet-stream`. Schema: `string (binary)`.
    
    Type: `string (binary)`.
    
    _Example: downloadAvailabilityExportFile_
    
    ```
    {"groupId":"UnitedStates"} 
    {"sku":"123","onHand":10,"reserved":6,"atf":4,"ato":24,"futures":[{"quantity":20,"expectedDate":"2019-07-24T21:13:00Z"}], "groupReserved":4,"sharedGroupReserved":2} 
    {"sku":"456","onHand":100.25,"reserved":50.25,"atf":50,"ato":50, "groupReserved":45.25,"sharedGroupReserved":5.00} 
    {"groupId":"Germany"} 
    {"sku":"789","onHand":1000,"reserved":500,"atf":500,"ato":500, "groupReserved":500,"sharedGroupReserved":500} 
    {"sku":"012","onHand":15000,"reserved":1500,"atf":13500,"ato":13500, "groupReserved":1000,"sharedGroupReserved":500} 
    {"deltaToken":"eyJncm91cHMiOlsiRXhwb3J0LUdyb3VwMSIsIkV4cG9ydC1Hcm91cDIiXSwiaW50ZXJuYWxJZHMiOlsxMzgsMTM3XSwidHlwZSI6IkdST1VQX0VYUE9SVCJ9"}
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadAvailabilityExportFile404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Export in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadAvailabilityExportFile409_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExportInProcess",
      "message": "Export 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **410** The download link is no longer available at the server.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadAvailabilityExportFile410_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExpiredResultLink",
      "message": "The download link has expired or is no longer valid."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Retrieve status information for a single export ID. The current request limit for each tenant is 120 requests per second.

`GET /organizations/{organizationId}/availability-records/exports/{exportId}/status`

Operation ID: `retrieveGroupExportStatus`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully retrieved export status.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `ExportGroupStatusResponse200`.
    
    _Example: retrieveGroupExportStatusSuccess_
    
    ```
    {
      "id": "323b0g69-d37d-423a-84f5-8f393fe80459",
      "status": "COMPLETED",
      "export": {
        "startTimeUTC": "2019-07-24T21:13:00Z",
        "endTimeUTC": "2019-07-24T21:13:00Z",
        "recordsProcessedCount": 2000,
        "recordsExportedCount": 2000,
        "groups": [
          "UnitedStates"
        ]
      },
      "download": {
        "downloadLink": "/v2/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/availability-records/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content",
        "downloadLinkExpirationUTC": "2019-07-24T21:13:00Z"
      },
      "validation": {
        "fileHashType": "SHA-256",
        "fileHash": "e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922",
        "fileSize": 5231942
      }
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: retrieveGroupExportStatus404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### POST Submit events activity export.

`POST /organizations/{organizationId}/event-log/exports`

Operation ID: `submitEventsActivityExport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Request body (required)

Media type: `application/json`. Schema: `InitiateEventActivityExportRequestBody`.

_Example: initiateEventActivityExportRequest_

```
{
  "endsOn": "2022-04-10T15:41:25.553Z",
  "locations": [
    "warehouse1",
    "warehouse2"
  ],
  "sku": "dcbd797a-73e7-11ec-90d6-0242ac120003",
  "groups": [
    "united-states"
  ],
  "startsOn": "2022-03-19T15:41:25.553Z",
  "fileFormat": "CSV"
}
```

#### Responses

*   **200** Successfully submitted export.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `InitiateEventLogExportResponse200`.
    
    _Example: initiateEventActivityExportSuccess_
    
    ```
    {
      "exportId": "e-d88e54c5-23ed-4e33-a6a9-c31dc810662b",
      "exportStatusLink": "/inventory/impex/v1/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/event-log/exports/e-d88e54c5-23ed-4e33-a6a9-c31dc810662b/status"
    }
    ```
    
*   **400** Invalid request.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: submitEventsActivityExport400_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "InvalidRequestParameter",
      "message": "'sku' Invalid characters in sku: null"
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Retrieve status information for a single export ID. The current request limit for each tenant is 120 requests per second.

`GET /organizations/{organizationId}/event-log/exports/{exportId}/status`

Operation ID: `retrieveEventLogExportStatus`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully retrieved export status.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `ExportEventLogStatusResponse200`.
    
    _Example: retrieveEventLogExportStatusSuccess_
    
    ```
    {
      "id": "323b0g69-d37d-423a-84f5-8f393fe80459",
      "status": "COMPLETED",
      "export": {
        "startTimeUTC": "2019-07-24T21:13:00Z",
        "endTimeUTC": "2019-07-24T21:13:00Z",
        "recordsProcessedCount": 2000,
        "recordsExportedCount": 2000,
        "groups": [
          "UnitedStates"
        ]
      },
      "download": {
        "downloadLink": "/v2/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/event-log/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content",
        "downloadLinkExpirationUTC": "2019-07-24T21:13:00Z"
      },
      "validation": {
        "fileHashType": "SHA-256",
        "fileHash": "e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922",
        "fileSize": 5231942
      }
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: retrieveEventLogExportStatus404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Download the generated events activity export file.

`GET /organizations/{organizationId}/event-log/exports/{exportId}/file-content`

Operation ID: `downloadEventsActivityExportFile`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully downloaded the file.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/octet-stream`. Schema: `string (binary)`.
    
    Type: `string (binary)`.
    
    _Example: downloadEventsActivityExportFile_
    
    ```
    {"locationId":"weimar"} 
    {"locationId":"newbraunfels"} 
    {"eventType":"location_import","location":"newbraunfels","sequenceNumber":0,"quantity":10.0,"newReserved":0.0,"newAto":11.0,"newOnHand":10.0,"newAtf":10.0,"newSoftReserved":0.0,"futureQuantity":1.0,"oldReserved":0.0,"oldAto":0.0,"oldOnHand":0.0,"oldAtf":0.0,"oldSoftReserved":0.0,"createdTime":"2022-01-18T15:58:40.443Z","effectiveTime":"2020-04-08T14:05:22.795243-07:00","safetyStockCount":0.0}
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** The event activity export ID does not exist.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadEventsActivityExportFile404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Export in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadEventsActivityExportFile409_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExportInProcess",
      "message": "Export 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **410** The download link is no longer available at the server.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadEventsActivityExportFile410_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExpiredResultLink",
      "message": "The download link has expired or is no longer valid."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### POST Submit a reservations export request.

`POST /organizations/{organizationId}/reservations/exports`

Operation ID: `submitReservationsExport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory.rw, sfcc\_inventory\_impex\_inventory\_rw).

#### Parameters

*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Request body (required)

Media type: `application/json`. Schema: `InitiateReservationsExportRequestBody`.

_Example: initiateReservationsExportRequest_

```
{
  "toDate": "2022-04-10T15:41:25.553Z",
  "fromDate": "2022-03-19T15:41:25.553Z",
  "status": "open"
}
```

#### Responses

*   **200** Successfully submitted export request.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `InitiateReservationsExportResponse200`.
    
    _Example: initiateReservationsExportSuccess_
    
    ```
    {
      "exportId": "60679175-C589-49A9-87FE-DC07F657D7C0",
      "exportStatusLink": "/inventory/impex/v1/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/reservations/exports/60679175-C589-49A9-87FE-DC07F657D7C0/status"
    }
    ```
    
*   **400** Invalid request
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: submitReservationsExport400_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "InvalidRequestParameter",
      "message": "'sku' Invalid characters in sku: null"
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### DELETE Delete a single reservation export ID. The current request limit for each tenenat is 120 requests per second.

`DELETE /organizations/{organizationId}/reservations/exports/{exportId}`

Operation ID: `deleteReservationsExport`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **204** Successfully deleted a single reservations export.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: NotFoundExample_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Export in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: ExportInProcessExample_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExportInProcess",
      "message": "Export 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Download the generated reservations export file.

`GET /organizations/{organizationId}/reservations/exports/{exportId}/file-content`

Operation ID: `downloadReservationsExportFile`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully downloaded the file.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/octet-stream`. Schema: `string (binary)`.
    
    Type: `string (binary)`.
    
    _Example: downloadReservationsExportFile_
    
    ```
    { 
      "reservationId" : "5baf4a87-1841-4311-9ca9-601e5d32885b", 
      "externalRefId" : "OCI-1234567", 
      "reservationTime" : 1648718653000, 
      "reservationState" : "CLOSED", 
      "reservationDetails" : [ 
        { 
          "group": "ACME_US", 
          "sku" : "white-shirt-40", 
          "quantity": 5, 
          "reservationDetailActions" : [ 
            { 
              "requestId" : "3678-23456-3456-4567-9999-1232", 
              "externalRefId" : "1234561-4949-2345", 
              "quantity" : 5, 
              "action": "Reserved", 
              "group": "ACME_US", 
              "timestamp" : "1648720001000" 
            },
            { 
              "requestId" : "45GF-23456-3456-4567-5678-6F6F", 
              "externalRefId" : "1234561-3574-6B6D", 
              "quantity" : 5, 
              "action": "Moved", 
              "from": 
              { 
                "group": "ACME_US" 
              }, 
              "to": 
              { 
                "location": "warehouse-slc" 
              }, 
              "timestamp" : "1648720001000" 
              }, 
            { 
              "requestId" : "900000-8863-488e-840b-2aebd10b57cd", 
              "externalRefId" : "7282822-9823-eee", 
              "quantity" : 5, 
              "action": "Fulfilled", 
              "location" "warehouse-slc": 
              "timestamp" : "1648721352000" 
            } 
          ] 
        }, 
        { 
          "location": "warehouse-slc", 
          "sku" : "blue-pant-42", 
          "quantity": 8, 
          "reservationDetailActions" : [ 
            { 
              "requestId" : "9876-23456-3456-4567-9999-1232", 
              "externalRefId" : "1234561-4949-2345", 
              "quantity" : 3, 
              "action": "Reserved", 
              "location": "warehouse-slc", 
              "timestamp" : "1648720001000" 
            }, 
          ] 
        } 
      ] 
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** The reservations export file does not exist.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadReservationsExportFile404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **409** Export in progress.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadReservationsExportFile409_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExportInProcess",
      "message": "Export 1234-3456-45678-1234 is in progress."
    }
    ```
    
*   **410** The download link is no longer available at the server.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: downloadReservationsExportFile410_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "ExpiredResultLink",
      "message": "The download link has expired or is no longer valid."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

### GET Retrieve status information for a single export ID. The current request limit for each tenant is 120 requests per second.

`GET /organizations/{organizationId}/reservations/exports/{exportId}/status`

Operation ID: `retrieveReservationsExportStatus`. Security: AmOAuth2 (sfcc.inventory.impex-inventory, sfcc\_inventory\_impex\_inventory).

#### Parameters

*   `exportId` (path, UniqueId, required) The ID of the reservations export on which the action is being performed.
*   `organizationId` (path, OrganizationId, required) An identifier for the organization the request is being made by
    
    _Example_
    
    ```
    f_ecom_zzxy_prd
    ```
    

#### Responses

*   **200** Successfully retrieved export status.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/json`. Schema: `ExportReservationsStatusResponse200`.
    
    _Example: retrieveReservationsExportStatusSuccess_
    
    ```
    {
      "id": "323b0g69-d37d-423a-84f5-8f393fe80459",
      "status": "COMPLETED",
      "export": {
        "startTimeUTC": "2019-07-24T21:13:00Z",
        "endTimeUTC": "2019-07-24T21:13:00Z",
        "recordsProcessedCount": 2000,
        "recordsExportedCount": 2000,
        "groups": [
          "UnitedStates"
        ]
      },
      "download": {
        "downloadLink": "/v2/organizations/8f714039-2808-4104-b444-5e8f9d923d6e/reservations/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content",
        "downloadLinkExpirationUTC": "2019-07-24T21:13:00Z"
      },
      "validation": {
        "fileHashType": "SHA-256",
        "fileHash": "e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922",
        "fileSize": 5231942
      }
    }
    ```
    
*   **403** Organization not authorized.
    
    Media type: `application/json`. Schema: `NotAuthorized`.
    
    _Example getLocationGraphExport403: same as POST /organizations/{organizationId}/location-graph/exports 403 response._
    
*   **404** Entity not found.
    
    Headers:
    
    *   `X-RateLimit-Limit` (string) The maximum number of requests permitted per minute.
    *   `X-RateLimit-Remaining` (string) The number of requests remaining in the current rate limit window.
    *   `X-RateLimit-Reset` (string) The time at which the current rate limit window resets in UTC epoch seconds.
    
    Media type: `application/problem+json`. Schema: `InventoryResponseErrorSchema`.
    
    _Example: retrieveReservationsExportStatus404_
    
    ```
    {
      "type": "about:blank",
      "errorCode": "EntityNotFound",
      "message": "An invalid entity was provided as part of the request."
    }
    ```
    
*   **429** The user has sent too many requests in a given amount of time ("rate limiting")
    
    Headers:
    
    *   `Retry-After` (string)
    
    Media type: `application/problem+json`. Schema: `object`.
    
    *   `title` (_string_) A short, human-readable summary of the problem type. It will not change from occurrence to occurrence of the problem, except for purposes of localization.  
        Example: `You do not have enough credit.`.
    *   `type` (_string_, required) A URI reference \[RFC3986\] that identifies the problem type. This specification encourages that, when dereferenced, it provide human-readable documentation for the problem type (e.g., using HTML \[W3C.REC-html5-20141028\]). When this member is not present, its value is assumed to be "about:blank". It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `https://example.com/probs/out-of-credit`.
    *   `detail` (_string_) A human-readable explanation specific to this occurrence of the problem.  
        Example: `Your current balance is 30, but that costs 50.`.
    *   `instance` (_string_) A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. It accepts relative URIs; this means that they must be resolved relative to the document's base URI, as per \[RFC3986\], Section 5.  
        Example: `/account/12345/msgs/abc`.
    
    _Example_
    
    ```
    {
      "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests",
      "title": "Too Many Requests",
      "detail": "You have performed too many requests in a short period of time."
    }
    ```
    

## Schemas

### OrganizationId

An identifier for the organization the request is being made by

Type: `string`.

Minimum length: 1. Maximum length: 32. Example: `f_ecom_zzxy_prd`.

### InitiateLocationGraphExportResponse

Initiate location graph export response

*   `exportId` (_object_, required)  
    Example: `a218f4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
    Includes all fields of `UniqueId`.
    
    Example: `a218f4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
*   `exportStatusLink` (_string_, required)  
    Pattern: ^/inventory/impex/v1/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/location-graph/exports/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/status$. Example: `/inventory/impex/v1/organizations/391e7478-2d3a-414d-92fd-a2735dabfed2/location-graph/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/status`.

### InventoryResponseErrorSchema

*   `errorCode` (_string_, required)  
    Maximum length: 250. Example: `InvalidRequestParameter`.
*   `message` (_string_, required)  
    Maximum length: 250. Example: `An invalid request parameter was provided.`.
*   `type` (_string_, required)  
    Maximum length: 250. Example: `about:blank`.
*   `parameterName` (_string_) When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid.  
    Maximum length: 250. Example: `location`.

### NotAuthorized

*   `timestamp` (_string_, required)  
    Maximum length: 36. Example: `2020-07-06T17:46:57.492+0000`.
*   `status` (_integer_, required)  
    Example: `403`.
*   `error` (_string_, required)  
    Maximum length: 250. Example: `Forbidden`.
*   `message` (_string_, required)  
    Maximum length: 250. Example: `No message available`.
*   `path` (_string_, required)  
    Maximum length: 250. Example: `/inventory/impex/v1/organizations/myOrgId/location-graph/exports`.

### UniqueId

An id to uniquely identify this operation/request

Type: `string`.

Maximum length: 128. Example: `323b0g69-d37d-423a-84f5-8f393fe80459`.

### ExportLocationGraphDownloadFile

Export location graph download file information

*   `locations` (_array of object_, required)
    
    _Example_
    
    ```
    [
      "l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2"
    ]
    ```
    
    Includes all fields of `LocationId`.
    
*   `groups` (_array of object_, required)
    
    Each item: The group array items contained in a location graph export
    
    *   `id` (_object_, required)  
        Example: `8ae8b814-0b28-4710-8c3c-8ed95abed62e`.
        
        Includes all fields of `GroupId`.
        
        Example: `8ae8b814-0b28-4710-8c3c-8ed95abed62e`.
        
    *   `locations` (_array of object_, required)
        
        _Example_
        
        ```
        [
          "l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2"
        ]
        ```
        
        Includes all fields of `LocationId`.
        

### ExportLocationGraphStatusResponse200

Export location graph status request response

*   `id` (_object_, required)  
    Example: `a218f4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
    Includes all fields of `UniqueId`.
    
    Example: `a218f4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
*   `status` (_string_, required) Enum allowing indication of a process status  
    Allowed values: `STAGING`, `WAITING`, `EXPIRED`, `SUBMITTED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`, `STOPPED`. Example: `COMPLETED`.
*   `export` (_object_, required)
    *   `startTimeUTC` (_string (date-time)_, required) The UTC time that the export process was started.  
        Example: `2020-04-15T21:21:23.675Z`.
    *   `endTimeUTC` (_string (date-time)_) The UTC time that the export process completed.  
        Example: `2020-04-15T21:21:23.812Z`.
    *   `recordsProcessedCount` (_integer_, required)  
        Example: `7`.
    *   `recordsExportedCount` (_integer_, required)  
        Example: `7`.
*   `download` (_object_)
    *   `downloadLink` (_string_, required) The URI link to be used for retrieving the event log export file. This link is valid anytime after the status of the export is completed and the link has not expired.  
        Pattern: ^/inventory/impex/v1/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/location-graph/exports/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/file-content$. Example: `/inventory/impex/v1/organizations/391e7478-2d3a-414d-92fd-a2735dabfed2/location-graph/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content`.
    *   `downloadLinkExpirationUTC` (_string (date-time)_, required)  
        Example: `2019-07-24T21:13:00Z`.
*   `validation` (_object_)
    *   `fileHash` (_string_, required)  
        Maximum length: 128. Example: `15fba5d9facf494749b9cfabdc2c8fe1c73d974b9579bc67ab293e607f3c92bb`.
    *   `fileHashType` (_string_, required) Enum containing valid File Hash Types  
        Allowed values: `SHA-256`, `SHA-512`. Example: `SHA-256`.
    *   `fileSize` (_integer_, required)  
        Example: `607`.

### GetRunningImportsResponse

Response generated by a get request for available import ID's.

*   `imports` (_array of object_, required) An array of import job ID's that are currently present in the system.
    
    Includes all fields of `UniqueId`.
    

### InitiateImportRequestBody

The body that is sent requesting an import to be initiated

Includes all fields of `ImportRequestObjects`.

### InitiateImportResponse200

Common response from import initiation calls

*   `importId` (_object_, required) The ID associated with the initiated import  
    Example: `d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
    
    Includes all fields of `UniqueId`.
    
    Example: `d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
    
*   `importStatusLink` (_string_, required) URI where import status can be acquired  
    Pattern: ^/inventory/impex/v1/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/availability-records/imports/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/status$. Example: `/inventory/impex/v1/organizations/1def0875-f84b-4e19-ac8f-fb8419484299/availability-records/imports/d88e54c5-23ed-4e33-a6a9-c31dc810662b/status`.
*   `uploadLink` (_string_, required) URL to submit the upload file  
    Pattern: ^/inventory/impex/v1/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/availability-records/imports/uploadlink/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}$. Example: `/inventory/impex/v1/organizations/1def0875-f84b-4e19-ac8f-fb8419484299/availability-records/imports/uploadlink/d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
*   `uploadMethod` (_string_, required) Upload HTTP Method, i.e. Multipart/Form  
    Allowed values: `POST`. Example: `POST`.
*   `uploadLinkExpirationUTC` (_string (date-time)_, required) ISO Time when upload link expires  
    Example: `2019-06-07T15:10:04.357Z`.

### ImportStatusResponse200

Record that is contained in the response array when checking the status of an import.

*   `importId` (_object_, required) Unique identifier for the import  
    Example: `12345-23456-3456-4567-5678`.
    
    Includes all fields of `UniqueId`.
    
    Example: `12345-23456-3456-4567-5678`.
    
*   `status` (_string_, required)  
    Allowed values: `STAGING`, `WAITING`, `SUBMITTED`, `EXPIRED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`, `STOPPED`. Example: `COMPLETED`.
*   `validation` (_object_, required)
    *   `status` (_string_, required) Validation status  
        Allowed values: `Success`, `Failed`, `Pending`. Example: `Success`.
    *   `errors` (_array of string_, required) Array of error verbiages  
        Items: Maximum length: 250. Example: `Error message`.
*   `upload` (_object_, required)
    *   `fileName` (_string_, required) The name of the upload file.  
        Maximum length: 250. Example: `test.json`.
*   `import` (_object_, required)
    *   `startTimeUTC` (_string (date-time)_) Start time of import  
        Example: `2019-02-12T11:23:23Z`.
    *   `endTimeUTC` (_string (date-time)_) End/completion time of import  
        Example: `2019-02-12T12:34:56Z`.
    *   `recordsProcessedCount` (_integer_, required) Number of records imported/processed  
        Example: `2000`.
    *   `recordsReadCount` (_integer_, required) Number of records read  
        Example: `2000`.
    *   `recordsSkippedCount` (_integer_, required) Number of records skipped  
        Example: `56`.
    *   `fullResults` (_object_, required)
        *   `href` (_string_, required) URL to pull results file. Is available until time indicated in "exportResultExpirationUTC" field.  
            Maximum length: 1024. Example: `https://462437319225-dev-us-east-1.s3.amazonaws.com/d88e54c5-23ed-4e33-a6a9-c31dc810662b?X-Amz- Security-Token=AgoJb3JpZ2luX2VjEB4aCXVzLWVhc3QtMSJ`.
        *   `exportResultExpirationUTC` (_string (date-time)_, required) Expiration time for availability of full result file  
            Example: `2019-03-12T12:34:56Z`.

### ImportUploadLinkResponse200

The file upload has been successfully started. Details about the upload are available in the response body.

*   `status` (_string_, required) The overall status of the import of the file. Can be either PENDING, RUNNING, or COMPLETED.  
    Allowed values: `PENDING`, `RUNNING`, `COMPLETED`. Example: `PENDING`.
*   `importId` (_object_, required) The UUID of the import job.  
    Example: `d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
    
    Includes all fields of `UniqueId`.
    
    Example: `d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
    

### InitiateProductSegmentationImportRequestBody

The body that is sent requesting an import for product segmentations to be initiated

Includes all fields of `InitiateProductSegmentationImportRequest`.

### InitiateProductSegmentationImportResponse200

*   `importId` (_object_, required)  
    Example: `d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
    
    Includes all fields of `UniqueId`.
    
    Example: `d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
    
*   `importStatusLink` (_string_, required) The link that should be used to check the status of the Product Segmentation Import  
    Pattern: ^/v2/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/product-segmentation/imports/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/status$. Example: `/v2/organizations/14c63be1-aac6-4360-8f33-4ce4f1b01d3e/product-segmentation/imports/d88e54c5-23ed-4e33-a6a9-c31dc810662b/status`.
*   `uploadLink` (_string_, required) The link that should be used for upload the Product Segmentation Data payload to the service  
    Pattern: ^/v2/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/product-segmentation/imports/uploadlink/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}$. Example: `/v2/organizations/14c63be1-aac6-4360-8f33-4ce4f1b01d3e/product-segmentation/imports/uploadlink/d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
*   `uploadMethod` (_string_, required) The http method that should be used when using the uploadLink endpoint  
    Allowed values: `POST`. Example: `POST`.
*   `uploadLinkExpirationUTC` (_string (date-time)_, required) The expiration time for the uploadLink endpoint.  
    Example: `2019-07-24T21:13:00Z`.

### ProductSegmentationImportStatusResponse

Record that is contained in the response array when checking the status of an import.

*   `importId` (_object_, required) Unique identifier for the import  
    Example: `12345-23456-3456-4567-5678`.
    
    Includes all fields of `UniqueId`.
    
    Example: `12345-23456-3456-4567-5678`.
    
*   `status` (_string_, required)  
    Allowed values: `STAGING`, `WAITING`, `EXPIRED`, `SUBMITTED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`, `STOPPED`. Example: `COMPLETED`.
*   `validation` (_object_, required)
    *   `status` (_string_, required) Validation status  
        Allowed values: `Success`, `Failed`, `Pending`. Example: `Success`.
    *   `errors` (_array of string_, required) Array of error verbiages  
        Items: Maximum length: 250. Example: `Error message`.
*   `upload` (_object_, required)
    *   `fileName` (_string_, required) The name of the upload file.  
        Maximum length: 250. Example: `test.json`.
*   `import` (_object_, required)
    *   `startTimeUTC` (_string (date-time)_) Start time of import  
        Example: `2019-02-12T11:23:23Z`.
    *   `endTimeUTC` (_string (date-time)_) End/completion time of import  
        Example: `2019-02-12T12:34:56Z`.
    *   `recordsProcessedCount` (_integer_, required) Number of records imported/processed  
        Example: `2000`.
    *   `recordsReadCount` (_integer_, required) Number of records read  
        Example: `2000`.
    *   `recordsSkippedCount` (_integer_, required) Number of records skipped  
        Example: `56`.
    *   `fullResults` (_object_, required)
        *   `href` (_string_, required) URL to pull results file. Is available until time indicated in "exportResultExpirationUTC" field.  
            Maximum length: 1024. Example: `https://462437319225-dev-us-east-1.s3.amazonaws.com/d88e54c5-23ed-4e33-a6a9-c31dc810662b?X-Amz- Security-Token=AgoJb3JpZ2luX2VjEB4aCXVzLWVhc3QtMSJ`.
        *   `exportResultExpirationUTC` (_string (date-time)_, required) Expiration time for availability of full result file  
            Example: `2019-03-12T12:34:56Z`.

### ImportProductSegmentationUploadLinkResponse200

The file upload has been successfully started. Details about the upload are available in the response body.

*   `status` (_string_, required) The overall status of the import of the file. Can be either PENDING, RUNNING, or COMPLETED.  
    Allowed values: `PENDING`, `RUNNING`, `COMPLETED`. Example: `PENDING`.
*   `importId` (_object_, required) The UUID of the import job.  
    Example: `d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
    
    Includes all fields of `UniqueId`.
    
    Example: `d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
    

### InitiateSegmentationExportBody

*   `groups` (_array of object_, required) An array of group IDs whose product Segmentation information you want to export. Simply use an asterisk to indicate all groups should be exported.
    
    _Example_
    
    ```
    [
      "Germany",
      "UnitedStates"
    ]
    ```
    
    Includes all fields of `GroupId`.
    

### InitiateProductSegmentationExportResponse200

*   `exportId` (_object_, required) The ID associated with the initiated export  
    Example: `pe-0377a512-d107-40a0-b966-bad5a021d21f`.
    
    Includes all fields of `UniqueId`.
    
    Example: `pe-0377a512-d107-40a0-b966-bad5a021d21f`.
    
*   `exportStatusLink` (_string_, required) The URI to be used for accessing the export status. This resource is available immediately.  
    Pattern: ^/inventory/impex/v1/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/product-segmentation/exports/pe-\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/status$. Example: `/inventory/impex/v1/organizations/99a634c5-1206-43b9-834b-75803f5387a9/product-segmentation/exports/pe-0377a512-d107-40a0-b966-bad5a021d21f/status`.

### ExportProductSegmentationStatusResponse200

*   `id` (_object_, required) The ID associated with this export request.  
    Example: `ameff4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
    Includes all fields of `UniqueId`.
    
    Example: `ameff4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
*   `status` (_string_, required) The current status of the export request  
    Allowed values: `STAGING`, `WAITING`, `EXPIRED`, `SUBMITTED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`, `STOPPED`. Example: `COMPLETED`.
*   `export` (_object_, required)
    *   `startTimeUTC` (_string (date-time)_) The UTC time that the export process was started.  
        Example: `2019-02-12T12:34:00Z`.
    *   `endTimeUTC` (_string (date-time)_) The UTC time that the export process completed.  
        Example: `2019-02-12T12:52:00Z`.
    *   `recordsProcessedCount` (_number_, required) The total number of records processed during the export request.  
        Example: `2000`.
    *   `recordsExportedCount` (_number_, required) The total number of records exported by the system.  
        Example: `2000`.
*   `download` (_object_, required)
    *   `downloadLink` (_string_, required) The URI link to be used for retrieving the export file. This link is valid anytime after the status of the export is completed and the link has not expired.  
        Pattern: ^/inventory/impex/v1/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/product-segmentation/exports/pe-\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/file-content$. Example: `/inventory/impex/v1/organizations/99a634c5-1206-43b9-834b-75803f5387a9/product-segmentation/exports/pe-0377a512-d107-40a0-b966-bad5a021d21f/file-content`.
    *   `downloadLinkExpirationUTC` (_string (date-time)_, required) The time at which the download link will expire, in UTC time.  
        Example: `2019-07-24T21:13:00Z`.
*   `validation` (_object_)
    *   `fileHashType` (_string_, required) The file hash type associated with the export file.  
        Allowed values: `SHA-256`, `SHA-512`. Example: `SHA-256`.
    *   `fileHash` (_string_, required) The hash associated with the export file.  
        Maximum length: 128. Example: `e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922`.
    *   `fileSize` (_number_, required) File size in bytes.  
        Example: `5231942`.

### InitiateAvailabilityExportBody

*   `objects` (_object_)
    *   `groups` (_array of object_) An array of group IDs whose availability information you want to export. Cannot be included if 'locations' is included below.
        
        _Example_
        
        ```
        [
          "Germany",
          "UnitedStates"
        ]
        ```
        
        Includes all fields of `GroupId`.
        
    *   `locations` (_array of object_) An array of location IDs whose availability information you want to export. Cannot be included if 'groups' is included above.
        
        _Example_
        
        ```
        [
          "warehouse5",
          "warehouse6"
        ]
        ```
        
        Includes all fields of `LocationId`.
        

### InitiateGroupExportResponse200

*   `exportId` (_object_, required) The ID associated with the initiated export  
    Example: `a218f4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
    Includes all fields of `UniqueId`.
    
    Example: `a218f4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
*   `exportStatusLink` (_string_, required) The URI to be used for accessing the export status. This resource is available immediately.  
    Pattern: ^/inventory/inventory-availability/v1/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/availability-records/exports/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/status$. Example: `/inventory/inventory-availability/v1/organizations/391e7478-2d3a-414d-92fd-a2735dabfed2/availability-records/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/status`.

### ExportGroupStatusResponse200

*   `id` (_object_, required) The ID associated with this export request.  
    Example: `ameff4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
    Includes all fields of `UniqueId`.
    
    Example: `ameff4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
*   `status` (_string_, required) The current status of the export request  
    Allowed values: `STAGING`, `WAITING`, `EXPIRED`, `SUBMITTED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`, `STOPPED`. Example: `COMPLETED`.
*   `export` (_object_, required)
    *   `startTimeUTC` (_string (date-time)_) The UTC time that the export process was started.  
        Example: `2020-04-15T21:21:23.675Z`.
    *   `endTimeUTC` (_string (date-time)_) The UTC time that the export process completed.  
        Example: `2020-04-15T21:21:23.812Z`.
    *   `recordsProcessedCount` (_number_, required) The total number of records processed during the export request.  
        Example: `2000`.
    *   `recordsExportedCount` (_number_, required) The total number of records exported by the system.  
        Example: `2000`.
    *   `groups` (_array of object_) Groups associated with this export request
        
        Includes all fields of `GroupId`.
        
*   `download` (_object_, required)
    *   `downloadLink` (_string_, required) The URI link to be used for retrieving the export file. This link is valid anytime after the status of the export is completed and the link has not expired.  
        Pattern: ^/v2/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/availability-records/exports/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/file-content$. Example: `/v2/organizations/391e7478-2d3a-414d-92fd-a2735dabfed2/availability-records/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content`.
    *   `downloadLinkExpirationUTC` (_string (date-time)_, required) The time at which the download link will expire, in UTC time.  
        Example: `2019-07-24T21:13:00Z`.
*   `validation` (_object_)
    *   `fileHashType` (_string_, required) The file hash type associated with the export file.  
        Allowed values: `SHA-256`, `SHA-512`. Example: `SHA-256`.
    *   `fileHash` (_string_, required) The hash associated with the export file.  
        Maximum length: 128. Example: `e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922`.
    *   `fileSize` (_number_, required) File size in bytes.  
        Example: `5231942`.

### InitiateEventActivityExportRequestBody

The body that is sent requesting an export to be initiated

Includes all fields of `GetEventLogRequestBody`.

### InitiateEventLogExportResponse200

Common response from export events activity initiation calls

*   `exportId` (_string_, required) The ID associated with the initiated export  
    Pattern: ^e-\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}$. Example: `e-d88e54c5-23ed-4e33-a6a9-c31dc810662b`.
*   `exportStatusLink` (_string_, required) URI where export status can be acquired  
    Pattern: ^/inventory/impex/v1/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/event-log/exports/e-\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/status$. Example: `/inventory/impex/v1/organizations/18f32133-f527-46ae-b34f-8abfe518aa4d/event-log/exports/e-d88e54c5-23ed-4e33-a6a9-c31dc810662b/status`.

### ExportEventLogStatusResponse200

*   `id` (_object_, required) The ID associated with this export request.  
    Example: `ameff4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
    Includes all fields of `GroupId`.
    
    Example: `ameff4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
*   `status` (_string_, required) The current status of the export request  
    Allowed values: `STAGING`, `WAITING`, `EXPIRED`, `SUBMITTED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`, `STOPPED`. Example: `COMPLETED`.
*   `export` (_object_, required)
    *   `startTimeUTC` (_string (date-time)_) The UTC time that the export process was started.  
        Example: `2019-02-12T12:34:00Z`.
    *   `endTimeUTC` (_string (date-time)_) The UTC time that the export process completed.  
        Example: `2019-02-12T12:52:00Z`.
    *   `recordsProcessedCount` (_number_, required) The total number of records processed during the export request.  
        Example: `2000`.
    *   `recordsExportedCount` (_number_, required) The total number of records exported by the system.  
        Example: `2000`.
    *   `groups` (_array of object_) Groups associated with this export request
        
        Includes all fields of `GroupId`.
        
*   `download` (_object_, required)
    *   `downloadLink` (_string_, required) The URI link to be used for retrieving the export file. This link is valid anytime after the status of the export is completed and the link has not expired.  
        Pattern: ^/v2/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/event-log/exports/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/file-content$. Example: `/v2/organizations/18f32133-f527-46ae-b34f-8abfe518aa4d/event-log/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content`.
    *   `downloadLinkExpirationUTC` (_string (date-time)_, required) The time at which the download link will expire, in UTC time.  
        Example: `2019-02-12T13:23:51Z`.
*   `validation` (_object_)
    *   `fileHashType` (_string_, required) The file hash type associated with the export file.  
        Allowed values: `SHA-256`, `SHA-512`. Example: `SHA-256`.
    *   `fileHash` (_string_, required) The hash associated with the export file.  
        Maximum length: 128. Example: `e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922`.
    *   `fileSize` (_number_, required) File size in bytes.  
        Example: `5231942`.

### InitiateReservationsExportRequestBody

The body that is sent requesting a reservations export to be initiated

Includes all fields of `GetReservationsRequestBody`.

### InitiateReservationsExportResponse200

Common response from export reservations initiation calls

*   `exportId` (_object_, required) The ID associated with the initiated reservations export  
    Example: `60679175-C589-49A9-87FE-DC07F657D7C0`.
    
    Includes all fields of `UniqueId`.
    
    Example: `60679175-C589-49A9-87FE-DC07F657D7C0`.
    
*   `exportStatusLink` (_string_, required) URI where reservations export status can be acquired  
    Pattern: ^/inventory/impex/v1/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/reservations/exports/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/status$. Example: `/inventory/impex/v1/organizations/F75164D4-59B5-4DA2-8429-F5A97EA5CA03/reservations/exports/60679175-C589-49A9-87FE-DC07F657D7C0/status`.

### ExportReservationsStatusResponse200

*   `id` (_object_, required) The ID associated with this reservations export request.  
    Example: `ameff4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
    Includes all fields of `UniqueId`.
    
    Example: `ameff4b2-2dc3-4ea8-af6d-c75fafd62323`.
    
*   `status` (_string_, required) The current status of the export request  
    Allowed values: `STAGING`, `WAITING`, `EXPIRED`, `SUBMITTED`, `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`, `STOPPED`. Example: `COMPLETED`.
*   `export` (_object_, required)
    *   `startTimeUTC` (_string (date-time)_) The UTC time that the export process was started.  
        Example: `2022-03-19T15:41:25.553Z`.
    *   `endTimeUTC` (_string (date-time)_) The UTC time that the export process completed.  
        Example: `2022-03-19T15:41:25.553Z`.
    *   `recordsProcessedCount` (_number_, required) The total number of records processed during the export request.  
        Example: `2000`.
    *   `recordsExportedCount` (_number_, required) The total number of records exported by the system.  
        Example: `2000`.
    *   `groups` (_array of object_) Groups associated with this export request
        
        Includes all fields of `GroupId`.
        
*   `download` (_object_, required)
    *   `downloadLink` (_string_, required) The URI link to be used for retrieving the export file. This link is valid anytime after the status of the export is completed and the link has not expired.  
        Pattern: ^/v2/organizations/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/reservations/exports/\[0-9a-fA-F\]{8}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{4}-\[0-9a-fA-F\]{12}/file-content$. Example: `/v2/organizations/70d97a6b-6193-4703-a2e3-8870e45caa1f/reservations/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content`.
    *   `downloadLinkExpirationUTC` (_string (date-time)_, required) The time at which the download link will expire, in UTC time.  
        Example: `2022-03-19T15:41:25.553Z`.
*   `validation` (_object_)
    *   `fileHashType` (_string_, required) The file hash type associated with the export file.  
        Allowed values: `SHA-256`, `SHA-512`. Example: `SHA-256`.
    *   `fileHash` (_string_, required) The hash associated with the export file.  
        Maximum length: 128. Example: `e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922`.
    *   `fileSize` (_number_, required) File size in bytes.  
        Example: `5231942`.

### LocationId

The id of the location of the inventory.

Type: `string`.

Minimum length: 2. Maximum length: 128. Pattern: ^\[a-zA-Z0-9-\_\]\*$. Example: `warehouse5`.

### GroupId

An identifier for a collection of locations. Can not be the same as any location identifier.

Type: `string`.

Minimum length: 2. Maximum length: 128. Pattern: ^\[a-zA-Z0-9-\_\]\*$. Example: `UnitedStates`.

### ImportRequestObjects

This object will contain the request objects that are being supplied to an initiate import request call

*   `fileName` (_string_, required) Name of the file.  
    Maximum length: 250. Example: `inventory.json`.
*   `fileFormat` (_object_) The file format. If file format is not provided then is assumed to be JSON. Current supported file types are CSV or JSON.
    
    Includes all fields of `ImportFileTypes`.
    
*   `fileEncoding` (_string_) Encoding format desired. Specify "GZIP" if compressed. The gateway has a filesize limit of 100MB. If the file is larger than 100MB, send it in compressed format.  
    Allowed values: `GZIP`. Example: `GZIP`.
*   `fileHash` (_string_)  
    Maximum length: 128. Example: `15fba5d9facf494749b9cfabdc2c8fe1c73d974b9579bc67ab293e607f3c92bb`.
*   `fileHashType` (_string_) Hash algorithm type. If fileHash is specified, this value will be used. If fileHash is specified and this value is not provided, SHA-256 is assumed.  
    Allowed values: `SHA-256`, `SHA-512`. Example: `SHA-256`.
*   `linkDuration` (_integer_) Time-to-live (TTL), in minutes up to 60 minutes max, uploadLink is valid for in response.  
    Example: `60`.

### InitiateProductSegmentationImportRequest

This type contains the structure for the initiate product segmentation data import request body

*   `fileName` (_string_, required) the filename to be imported.  
    Maximum length: 250. Example: `product_segmentation_data_import.json`.
*   `linkDuration` (_number_, required) the duration the uploadLink shall remain active after being created.  
    Example: `60`.

### GetEventLogRequestBody

This object will contain the request objects that are being supplied to initiate export request call

*   `sku` (_SkuId_, required)
*   `startsOn` (_string (date-time)_, required) ISO Date from which OCI will start to query for the sku activity.  
    Example: `2022-03-19T15:41:25.553Z`.
*   `endsOn` (_string (date-time)_) ISO Date that sets the range OCI will use in order to query for the sku activity. This field is optional, in which case, OCI will set the range to be 30 days from the startsOn date. The value that gets set in the endsOn property, cannot be bigger than 30 days from the starsOn date.  
    Example: `2022-04-10T15:41:25.553Z`.
*   `locations` (_array of object_) Lists which locations should be considered while querying the activity around the sku. The total locations to query, combined with total groups (if specified) cannot be more than 10. If no locations or groups are specified, OCI will query all activity related to the sku.
    
    _Example_
    
    ```
    [
      "warehouse1",
      "warehouse2"
    ]
    ```
    
    Includes all fields of `LocationId`.
    
*   `fileFormat` (_string_) An optional field that changes the output format. Default CASE-SENSITIVE (must be all upper-case) value will be JSON.  
    Allowed values: `JSON`, `CSV`. Default: `JSON`. Example: `CSV`.
*   `groups` (_array of object_) Lists which groups should be considered while querying the activity around the sku. The total groups to query, combined with total locations (if specified) cannot be more than 10. If no locations or groups are specified, OCI will query all activity related to the sku.
    
    _Example_
    
    ```
    [
      "united-states"
    ]
    ```
    
    Includes all fields of `GroupId`.
    

### GetReservationsRequestBody

This object will contain the request objects that are being supplied to initiate export reservations request call

*   `status` (_string_, required) The reservations status to query and export for.  
    Allowed values: `open`, `closed`. Example: `open`.
*   `fromDate` (_string (date-time)_, required) ISO Date from which OCI will start to query for the reservation documents.  
    Example: `2022-03-19T15:41:25.553Z`.
*   `toDate` (_string (date-time)_) ISO Date that sets the range OCI will use in order to query for the reservation documents. This field is optional, in which case, OCI will set the to date to the current date if none is provided.  
    Example: `2022-04-10T15:41:25.553Z`.

### ImportFileTypes

Type: `string`.

Allowed values: `JSON`, `CSV`. Example: `JSON`.

### SkuId

The inventory identifier

Type: `string`.

Minimum length: 2. Maximum length: 250. Pattern: ^\[^\\\\<>;%/\\s\]\*$. Example: `sku123`.