Extract API
You can use the Extract API to retrieve data from Maximo Inventory Optimization for further analysis, storage, or integration into other systems such as data lakes or ERP systems. This API supports data extraction for different periods, pagination, and filtering, which offers flexibility in how you retrieve and manage a large dataset.
Overview
The Extract API provides access to the following types of data.
- Exports
- Data that is exported to the customer’s ERP system.
- Snapshots
- Data that represents the state of the system at specific points in time, for example, the end of the month or delta refreshes.
- Main data
- The current state of data, for example, item data, store item data, issues, receipts.
Endpoints
- Exports
- Exports represent data that is exported from Maximo Inventory
Optimization to the
customer’s ERP system.
- The
GET /dataapi/extract/meta/exportsendpoint returns metadata about all export profiles, including details such as profile keys, column names, and descriptions. - The
GET /dataapi/extract/meta/exports/{profile}endpoint returns metadata for a specific export profile. The metadata includes the column names, data types, and descriptions. - The
GET /dataapi/extract/data/exports/{profile}endpoint returns a CSV file with the exported data for a specific profile. By default, all exported data since the most recent end-of-month (EOM) refresh is returned.
- The
- Snapshots
- Snapshots capture the state of the data at specific points in time, which is typically at the
end of each month.
- The
GET /dataapi/extract/meta/snapshot/itemsreturns metadata for item snapshots. This metadata includes the available fields in the item snapshot. - The
GET|POST /dataapi/extract/data/snapshot/itemsreturns item snapshot data for the specified date range. A POST request can be made to limit the number of columns that are returned. - The
POST /dataapi/extract/data/snapshot/items/filterreturns item snapshot data with applied advanced filters. Filters are applied to theSET_ITEMtable. - The
GET /dataapi/extract/meta/snapshot/storeitemsreturns metadata for store item snapshots. - The
GET|POST /dataapi/extract/data/snapshot/storeitemsreturns store item snapshot data for the specified date range. APOSTrequest can limit the number of columns that are returned. - The
POST /dataapi/extract/data/snapshot/storeitems/filterendpoint returns store item snapshot data with filters applied, verified against theSET_ITEMtable. - The
GET /dataapi/extract/meta/snapshot/deltaitemsendpoint returns metadata for delta item snapshots. - The
GET|POST /dataapi/extract/data/snapshot/deltaitemsendpoint returns delta item snapshot data for the specified date range. APOSTrequest can limit the number of columns that are returned. - The
POST /dataapi/extract/data/snapshot/deltaitems/filterendpoint returns delta item snapshot data with filters applied, verified against theSET_ITEMtable.
- The
- Main data
- Main data represents the current state of items, store items, issues, and receipts.
- The
GET /dataapi/extract/meta/itemsendpoint returns metadata for item data, including available columns and descriptions. - The
GET|POST /dataapi/extract/data/itemsreturns item data in the CSV format. APOSTrequest can be made to limit the number of columns that are returned. - The
POST /dataapi/extract/data/items/filterendpoint returns item data with advanced filters applied, verified against theSET_ITEMtable. - The
GET /dataapi/extract/meta/storeitemsendpoint returns metadata for store item data. - The
GET|POST /dataapi/extract/data/storeitemsendpoint returns store item data in the CSV format. APOSTrequest can be made to limit the number of columns that are returned. - The
POST /dataapi/extract/data/storeitems/filterendpoint returns store item data with advanced filters applied, verified against theSET_ITEMtable. - The
GET /dataapi/extract/meta/issuesendpoint returns metadata for issue data. - The
GET|POST /dataapi/extract/data/issuesendpoint returns issue data in the CSV format. APOSTrequest can be made to limit the number of columns that are returned. - The
POST /dataapi/extract/data/issues/filterendpoint returns issue data with advanced filters applied, verified against theBASE_ISSUEtable. - The
GET /dataapi/extract/meta/receiptsendpoint returns metadata for receipt data. - The
GET|POST /dataapi/extract/data/receiptsendpoint returns receipt data in CSV format. A POST request can be made to limit the number of columns that are returned. - The
POST /dataapi/extract/data/receipts/filterendpoint returns receipt data with advanced filters applied, verified against theBASE_RECEIPTtable.
- The
Key parameters
- Date range parameters
-
- from Specifies the start of the data extraction period (inclusive). It uses the ISO 8601 format, which is YYYY-MM-DDTHH:mm:ss.sss.
- to Specifies the end of the data extraction period (exclusive). If not provided, the current date and time are used.
- Refresh type and period
-
- refreshType Defines the type of data refresh.
- eom Returns an end of month refresh.
- delta Returns delta, or incremental, refreshes.
- Period
-
- Number Indicates how many periods to include.
- Predefined string
- current Returns data since the most recent refresh.
- last Returns data from the previous period.
- all Returns all available data. Use with caution because it might return a large dataset.
- Advanced filter
- Applies complex conditions to the data. plain text or base64e encoded filters can be used. The filterEncoded flag indicates whether the filter is base64 encoded.
Data formats
- Response format
- By default, the API returns data in the .csv format. The .CSV file can be optionally compressed by setting the Accept-Encoding header to GZIP.
- Metadata format
- Metadata is returned in the .json format, which includes column names, types, and descriptions.
Request headers
When you make requests to the API, especially when you are downloading a large dataset, include the following header.
Accept-Encoding: gzip
This parameter compresses the content to reduce the amount of data that is transferred, which can speed up the download.
Example use cases
- Monthly data snapshot
- You can use the API to extract data for the last month, for example from 1 July 2021 to 1 August
2021. By using the
refreshType=eomandperiod=1parameters, the API returns a snapshot of data from the previous month's refresh. - Real-time changes
- To extract only changes that occurred since the most recent refresh, use
refreshType=deltaandperiod=0. These parameters can be useful for applications that need to track incremental changes.
- Filtered exports
- Using the
POSTmethod, you can specify only the columns that you need, which reduces the amount of data that is transferred and can make the process more efficient.
Error handling
HTTP 429 - Too Many Requests
This error occurs if multiple extract requests are made simultaneously. Only one extract request can be in progress at a time.