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/exports
endpoint 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/items
returns metadata for item snapshots. This metadata includes the available fields in the item snapshot. - The
GET|POST /dataapi/extract/data/snapshot/items
returns 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/filter
returns item snapshot data with applied advanced filters. Filters are applied to theSET_ITEM
table. - The
GET /dataapi/extract/meta/snapshot/storeitems
returns metadata for store item snapshots. - The
GET|POST /dataapi/extract/data/snapshot/storeitems
returns store item snapshot data for the specified date range. APOST
request can limit the number of columns that are returned. - The
POST /dataapi/extract/data/snapshot/storeitems/filter
endpoint returns store item snapshot data with filters applied, verified against theSET_ITEM
table. - The
GET /dataapi/extract/meta/snapshot/deltaitems
endpoint returns metadata for delta item snapshots. - The
GET|POST /dataapi/extract/data/snapshot/deltaitems
endpoint returns delta item snapshot data for the specified date range. APOST
request can limit the number of columns that are returned. - The
POST /dataapi/extract/data/snapshot/deltaitems/filter
endpoint returns delta item snapshot data with filters applied, verified against theSET_ITEM
table.
- The
- Main data
- Main data represents the current state of items, store items, issues, and receipts.
- The
GET /dataapi/extract/meta/items
endpoint returns metadata for item data, including available columns and descriptions. - The
GET|POST /dataapi/extract/data/items
returns item data in the CSV format. APOST
request can be made to limit the number of columns that are returned. - The
POST /dataapi/extract/data/items/filter
endpoint returns item data with advanced filters applied, verified against theSET_ITEM
table. - The
GET /dataapi/extract/meta/storeitems
endpoint returns metadata for store item data. - The
GET|POST /dataapi/extract/data/storeitems
endpoint returns store item data in the CSV format. APOST
request can be made to limit the number of columns that are returned. - The
POST /dataapi/extract/data/storeitems/filter
endpoint returns store item data with advanced filters applied, verified against theSET_ITEM
table. - The
GET /dataapi/extract/meta/issues
endpoint returns metadata for issue data. - The
GET|POST /dataapi/extract/data/issues
endpoint returns issue data in the CSV format. APOST
request can be made to limit the number of columns that are returned. - The
POST /dataapi/extract/data/issues/filter
endpoint returns issue data with advanced filters applied, verified against theBASE_ISSUE
table. - The
GET /dataapi/extract/meta/receipts
endpoint returns metadata for receipt data. - The
GET|POST /dataapi/extract/data/receipts
endpoint 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/filter
endpoint returns receipt data with advanced filters applied, verified against theBASE_RECEIPT
table.
- 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=eom
andperiod=1
parameters, 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=delta
andperiod=0
. These parameters can be useful for applications that need to track incremental changes.
- Filtered exports
- Using the
POST
method, 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.