Check out all the necessary information about APIs Mercado Libre.
Documentation
Last update 12/03/2026
Package grouping for Pickup
This feature allows you to optimize shipment pickup by enabling the seller to declare in advance the packages they will deliver and generate virtual containerization. From this declaration, packages can be grouped into bags, boxes or pallets, generating a new label for the group, which allows the driver to perform a single scan per created group, reducing operational friction and significantly improving the performance and speed of the pickup process.
In this guide, we show the step-by-step to manage the entire process of creating and editing groups and packages (technically bundles and volumes).
Get ready to take your pickups to the next level of efficiency and agility.
1. Validate user
Before you can create a bundle, you need to verify that the user is enabled with this feature.
This resource allows you to validate sellers enabled to use the package grouping feature for pickups.
active: Boolean field indicating whether the integrator has the experience active.
init_date: Field indicating the activation date of the feature.
reason: Field indicating the reason why the feature is NOT active. This means that if active is true, the field returns null. Otherwise, it returns the value FEATURE_DISABLED.
Errors
Http Code
Message
Solution
403
At least one policy returned UNAUTHORIZED
The integrator is missing read/write permissions for Shipments and Sales or does not have the grouping feature enabled
424
An external dependency has failed
External service error.
500
Internal server error
Internal server error.
2. Create Bundle
This resource allows you to create a shipment bundle from the virtual containerization defined by the seller, associating multiple packages with a single containerized unit. When generating the bundle, you obtain a bundle identifier ID and a hash calculated from the ID, the name, the creation date, and the client_id received in the token. This hash must then be passed as a mandatory parameter (acting as authorization for the bundle) when adding or removing shipments. This ensures that accounts other than the seller's can group items into the same bundle.
Note:
We only allow the grouping of packages (shipments) after the label has been printed, ideally in the following statuses:
ready_to_ship
with sub-statuses:
ready_for_pickup
printed
Call:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles
{
"volume_id": "{volume_id}",
"bundle_name": "(depends on the use case)",
"reason": "{reason}"
}
Errors
Variable
Description
Values
Detail
volume_id
ID of the volume in error
String
ERR_SHIPMENT_INVALID
occurs when the shipment is invalid for the operation.
ERR_SHIPMENT_CANCELLED
occurs when a shipment was cancelled.
ERR_SHIPMENT_NOT_FOUND
occurs when the shipment does not exist.
reason
Error description
ERR_LOGISTIC
occurs when the logistics is invalid.
ERR_NOT_READY_FOR_PICKUP_OR_NOT_PRINTED
occurs when the shipment is not in the correct state and substate.
ERR_SHIPMENT_EXIST_IN_OTHER_BUNDLE
occurs when the shipment exists in another bundle.
ERR_SHIPMENT_DUPLICATED
duplicate validation error
ERR_BUNDLE_LIMIT_EXCEEDED_SHIPMENT
The shipment limit exceeded the maximum limit of 450.
Errors
Http Code
Message
Solution
201
Created
-
400
Bad arguments
Validate the JSON format
401
User is not authorized into the application
User does not have access to the application
409
The request generates conflict with existing data
A bundle with similar characteristics already exists. Verify data uniqueness
424
An external dependency has failed
External bundle management service error
500
Internal server error
Internal server error
3.1. Bundle search by ID
This resource allows you to obtain the information of an existing bundle from its identifier. Through the search by bundle_id, you can query the bundle summary, including the data associated with the containerized unit, the packages that comprise it and their status, facilitating traceability and validation of the grouping during the logistics process.
Call:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/{bundle_id}/summary
Required query parameters
Variable
Description
bundle_id
Bundle ID to search for
Example
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/12345/summary
Response fields for all searches
Bundle Summary
id: Bundle ID
bundle_name: Bundle name
service_type: Service/logistics type with which the bundle will be operated
status: Current status of the bundle
created_date: Bundle creation date
last_updated: Date of last bundle update
scan_code_id: Bundle label ID
Volume
id: Volume ID
bundle_id: Bundle ID
reference_id: Volume ID in the MELI network
status: Current status of the volume in the kitting context
create_date: Volume creation date
update_date: Date of last volume update
Errors
Http Code
Message
Solution
401
User is not authorized into the application
Verify that the authorization token is valid and present in the header
404
Bundle data not found for given user and ID
The specified user or bundle does not exist in the system
424
An external dependency has failed
External service error.
500
Internal server error
Internal server error.
3.2. Bundle search by reference
This resource allows you to search for bundles from a partial reference, either by name or by the scannable code associated with the bundle. The search by bundle_reference facilitates the identification of containerized units when the exact ID is not available, returning a list of matching bundles to improve traceability and operational management during pickup and subsequent logistics processes.
Call:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/search
Required query parameters
Variable
Description
bundle_reference
Part of the bundle name or scannable code
Example
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/search?bundle_reference=ABCD1234
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/search?bundle_reference=bund_1
Errors
Http Code
Message
Solution
400
One or more of the given parameters is invalid
Verify that bundle_reference is valid. bundle_reference cannot be empty or null
401
User is not authorized into the application
Verify that the authorization token is valid and present in the header
404
Bundle data not found for given user
The specified user or bundle does not exist in the system
424
An external dependency has failed
External service error.
500
Internal server error
Internal server error.
3.3. Volume search by Bundle ID
This resource allows you to obtain the list of volumes associated with a specific bundle from its identifier. Through the search by bundle_id, you can query the individual packages that make up the containerized unit, accessing their detailed information to facilitate traceability, operational validation and content control during pickup and the subsequent stages of the logistics flow.
Call:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/{bundle_id}/volumes
Required query parameters
Variable
Description
bundle_id
ID of the bundle whose volumes are to be retrieved
Example
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/12345/volumes
Errors
Http Code
Message
Solution
400
One or more of the given parameters is invalid
Verify that bundle_id is valid. bundle_id cannot be empty or null
401
User is not authorized into the application
Verify that the authorization token is valid and present in the header
404
Management data not found for given user
The specified user does not exist in the system
424
An external dependency has failed
External service error.
500
Internal server error
Internal server error.
3.4. Volume search by reference and Bundle ID
This resource allows you to search for specific volumes within a given bundle, combining the bundle ID with a partial volume reference. Through the volume_reference parameter, you can identify one or more packages within the containerized unit when the full identifier is not available, facilitating precise location, traceability and operational validation of the associated volumes.
Call:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/{bundle_id}/volumes/search
Required query parameters
Variable
Description
bundle_id
ID of the bundle whose volumes are to be retrieved
volume_reference
Part of the shipment ID to search for within the bundle
Example
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/12345/volumes/search?volume_reference=451235132
Errors
Http Code
Message
Solution
400
One or more of the given parameters is invalid
Verify that bundle_id and volume_reference are valid. bundle_id and volume_reference cannot be empty or null
401
User is not authorized into the application
Verify that the authorization token is valid and present in the header
404
Volume data not found for given user
The specified user or volume does not exist in the system
424
An external dependency has failed
External service error.
500
Internal server error
Internal server error.
4. Update Bundle
This resource allows you to update the information of an existing bundle from its identifier. Through this operation you can modify the name and/or status of the bundle, reflecting changes in the containerized unit throughout its lifecycle.
occurs when trying to close a group with all its shipments cancelled
ERR_CLOSING_BUNDLE
Occurs when bundle closure fails; failure details are omitted.
Errors
Http Code
Message
Solution
400
One or more of the given parameters is invalid
Verify that bundleId is a valid positive number
400
Bad arguments
Validate the JSON body format and that it meets the validations
401
User is not authorized into the application
Verify that the authorization token is valid and present in the header
404
Bundle data not found for given user
The specified bundle does not exist
409
The request generates conflict with existing data
The update conflicts with the current bundle status
424
An external dependency has failed
External service error.
500
Internal server error
Internal server error.
5. Add Volumes to Bundle
This resource allows you to add one or more volumes to an existing bundle, associating individual packages with an already created containerized unit. By sending the list of shipment IDs, you can incorporate new volumes into the bundle, maintaining the consistency of the grouping.
occurs when the shipment is invalid or does not exist.
ERR_SHIPMENT_CANCELLED
occurs when a shipment was cancelled.
ERR_SHIPMENT_NOT_FOUND
occurs when the shipment does not exist.
ERR_BUNDLE_HASH_MISMATCH
occurs when the body hash does not match the one calculated during bundle creation.
reason
Error description
ERR_LOGISTIC
occurs when the logistics is invalid.
ERR_NOT_READY_FOR_PICKUP_OR_NOT_PRINTED
occurs when the shipment is not in the correct state and substate.
ERR_SHIPMENT_ALREADY_EXIST_IN_THE_BUNDLE
occurs when the shipment already exists in the current bundle.
ERR_SHIPMENT_EXIST_IN_OTHER_BUNDLE
occurs when the shipment exists in another bundle.
Errors
Http Code
Message
Solution
400
One or more of the given parameters is invalid
Verify that bundleId is a valid positive number
400
Bad arguments
Validate the JSON body format with a valid volume list
401
User is not authorized into the application
Verify that the authorization token is valid and present in the header
404
Bundle data not found for given user
The specified bundle does not exist
409
The request generates conflict with existing data
Volumes are already associated with the bundle or there is a status conflict
424
An external dependency has failed
External service error.
500
Internal server error
Internal server error.
6. Remove Volumes from Bundle
This resource allows you to remove one or more volumes from an existing bundle, detaching individual packages from the containerized unit. By sending the list of shipment IDs, you can adjust the composition of the bundle, reflecting operational changes and maintaining consistency.
Verify that the authorization token is valid and present in the header
404
Bundle data not found for given user
The specified bundle does not exist
409
The request generates conflict with existing data
Volumes cannot be removed due to their current status
424
An external dependency has failed
External service error.
500
Internal server error
Internal server error.
7. Download File
This resource allows you to download the file associated with a specific bundle from its identifier. With this, you can obtain the CSV file generated with the bundle information and its containerization, facilitating printing, validation and operational use of the documentation required during pickup.
Call:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/{bundleId}/file
Verify that the authorization token is valid and present in the header
404
Bundle data not found for given user
The specified bundle or user does not exist
424
An external dependency has failed
External file generation service error
500
Internal server error
Internal server error when generating the file
8. Download Label
This resource allows you to download the label associated with a specific bundle, indicating the desired print format. From the bundle_id, the containerized unit label is generated in the requested format (for example, PDF, ZPL and ZIP), allowing its printing, scanning and operational use.
Call:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' \
https://api.mercadolibre.com/soe/bundles/label