Skip to main content

API - Configure replenishment points

Manage product replenishment points via API to automate warehouse stock movement.

Tom Higgs avatar
Written by Tom Higgs
Updated this week

This guide is intended for customers with custom-built third-party API integrations. Replenishment Points allow you to configure product stock thresholds that trigger replenishment tasks in your warehouse operations. These settings determine when products should be moved from bulk storage locations to picking locations.


List product replenishment points - GET

Endpoint: /api/ReplenPoints

This retrieves a paginated list of product replenishment points with optional filtering. The response contains only the items for the requested page; total count and paging metadata are not included. To retrieve all records, increment PageNo until an empty array is returned.

Query parameters

  • ProductId (optional): Filter results by Product ID.

  • SKU (optional): Filter results by Product SKU.

  • LocationTypeId (optional): Filter results by Location Type ID.

  • PageNo (optional): Page number. Default 1.

  • Limit (optional): Number of results to return. Default 100. The API will return up to the specified limit per page.

Response

Returns a list of replenishment point records containing:

  • Id: Unique identifier for the replenishment point.

  • ProductId: Product ID.

  • ProductSKU: Product SKU code.

  • ProductName: Product name.

  • LocationTypeId: Location Type ID.

  • LocationTypeName: Location Type name.

  • Size: The size/capacity at this location type.

  • ReplenPoint: The threshold at which replenishment is triggered.

  • LastUpdated: Timestamp of last update. The format depends on your server's culture settings. The example shows a typical format, but it may vary. For consistent date handling, parse the timestamp on the client side.

  • LastUpdatedByUser: User who last updated the record.

Example response

JSON

[
{
"Id": 123,
"ProductId": 456,
"ProductSKU": "PROD-001",
"ProductName": "Example Product",
"LocationTypeId": 5,
"LocationTypeName": "Pick Face",
"Size": 100,
"ReplenPoint": 20,
"LastUpdated": "2024-11-05T10:30:00",
"LastUpdatedByUser": "[email protected]"
}
]

Add a replenishment point - POST

Endpoint: /api/ReplenPoint

You can create a new replenishment point using this endpoint.

Important: If a replenishment point already exists for the same ProductId and LocationTypeId combination, this endpoint will update the existing record rather than creating a duplicate. This means POST behaves as an 'upsert' operation.

Note: You must provide either ProductId or SKU to identify the product, and either LocationTypeId or LocationType name to identify the location type.

Required information

To successfully make the call, you'll need:

  • The Product ID or Product SKU.

  • The Location Type ID or Location Type name.

  • The Size (capacity at this location type).

  • The Replenishment Point (threshold value).

Example body

JSON

{
"ProductId": 456,
"LocationTypeId": 5,
"Size": 100,
"ReplenPoint": 20
}

Alternative using SKU and LocationType name:

JSON

{
"SKU": "PROD-001",
"LocationType": "Pick Face",
"Size": 100,
"ReplenPoint": 20
}

Field details

  • ProductId: Go to the product in Mintsoft, click Edit, and copy the number in the URL. Alternatively, use the SKU field instead.

  • SKU: The unique stock keeping unit code for the product. You can use this instead of ProductId. SKU matching behaviour depends on your database collation; in most environments it is case-insensitive, but this is not enforced by the API.

  • LocationTypeId: The numeric ID of the location type. You can find this by going to Warehouse then Location Types in Mintsoft, clicking Edit on a location type, and copying the number from the URL. Alternatively, use the LocationType name field instead.

  • LocationType: The name of the location type (e.g., 'Pick Face', 'Bulk Storage'). You can use this instead of LocationTypeId. LocationType name matching is case-insensitive.

  • Size: The maximum capacity/size for this product at this location type. This represents how many units should ideally be present.

  • ReplenPoint: The minimum threshold that triggers a replenishment task. When stock falls to or below this level, the system will create a replenishment task to move stock from bulk storage.

Example: Setting up replenishment for a pick face location

POST /api/ReplenPoint

{
"SKU": "WIDGET-001",
"LocationType": "Pick Face",
"Size": 100,
"ReplenPoint": 20
}

This configuration means: The pick face should ideally hold 100 units. When stock drops to 20 or below, trigger a replenishment task to move stock from bulk storage.


Update a replenishment point - PUT

Endpoint: /api/ReplenPoint/{id}

You can update an existing replenishment point using this endpoint. Replace {id} with the Replenishment Point ID you want to update.

Required information

To successfully make the call, you'll need:

  • The Replenishment Point ID (in the URL).

  • The Product ID or Product SKU.

  • The Location Type ID or Location Type name.

  • The Size (capacity at this location type).

  • The Replenishment Point (threshold value).

Example body

JSON

{
"ProductId": 456,
"LocationTypeId": 5,
"Size": 120,
"ReplenPoint": 25
}

Field details

id (URL parameter): The unique identifier of the replenishment point you want to update. You can find this from the GET /api/ReplenPoints call.

All other fields follow the same rules as the POST endpoint (see 'Add a replenishment point' above).

Note: You must have appropriate permissions to update the replenishment point. You can only update replenishment points for products you have access to.


Delete a replenishment point - DELETE

Endpoint: /api/ReplenPoint/{id}

You can delete a replenishment point using this endpoint. Replace {id} with the Replenishment Point ID you want to delete.

HTTP Method: DELETE

Required information

To successfully make the call, you'll need:

  • The Replenishment Point ID (in the URL).

Field details

id (URL parameter): The unique identifier of the replenishment point you want to delete. You can find this from the GET /api/ReplenPoints call.

Note: You must have appropriate permissions to delete the replenishment point. You can only delete replenishment points for products you have access to.

Warning: Once deleted, the replenishment point configuration is permanently removed and will no longer trigger replenishment tasks.


Response codes

All endpoints return standard HTTP response codes:

  • 200 OK: Request successful.

  • 400 Bad Request: Invalid request parameters or body.

  • 403 Forbidden: Returned when you attempt to access or modify a replenishment point for a product belonging to a client you don't have permission to access. This can occur on POST, PUT, and DELETE operations.

  • 404 Not Found: The specified replenishment point was not found (for GET by ID, PUT, and DELETE operations).

  • 500 Internal Server Error: An error occurred on the server.

Success responses

  • POST (new): {"Success": true, "Message": "ReplenPoint Successfully Added!"}

  • POST (update): {"Success": true, "Message": "Replen Point Successfully Updated!"}

  • PUT: {"Success": true, "Message": "Replen Point Successfully Updated!"}

  • DELETE: {"Success": true, "Message": "ReplenPoint Successfully Deleted!"}

Common error messages

  • 'Either ProductId or SKU must be provided': You must provide one of these fields.

  • 'Either LocationTypeId or LocationType must be provided': You must provide one of these fields.

  • 'Product not found with SKU: {SKU}': The SKU doesn't exist or you don't have access to it.

  • 'Location Type not found: {LocationType}': The location type name doesn't exist in your system.

How to find IDs

Finding Location Type IDs and names

  1. In Mintsoft, go to Warehouse then Location Types.

  2. Click Edit on a location type.

  3. The ID appears in the URL: /Warehouse/EditLocationType?id=5

  4. The Name is displayed at the top of the page.

Finding Product IDs

  1. Go to Products and search for your product.

  2. Click Edit.

  3. The ID appears in the URL: /Product/Edit?id=456


Understanding replenishment points

Replenishment Points work together with your warehouse location types to automate stock movement:

  • Size: Defines the ideal capacity for a product at a specific location type (e.g., 'Pick Face' locations should hold 100 units).

  • ReplenPoint: Defines the minimum threshold (e.g., when stock drops to 20 units, trigger replenishment).

When stock at a pick location falls to or below the ReplenPoint, the system can automatically create replenishment tasks to move stock from bulk storage locations to the pick face, ensuring efficient warehouse operations.

Did this answer your question?