Removes a merchant hold: one placed with PUT /orders/{id}/hold or with "Put on hold" in the merchant portal. The order then takes the status its sales channel gives it: usually waiting_for_picking, but payment_pending if the sales channel reports the payment as pending. It stays on_hold while fulfillment is paused for the merchant.
This does not release a hold placed by an order rule (release those in the merchant portal), and it does not move an order out of payment_pending. The request has no body.
- Mock serverhttps://developers.hive.app/_mock/merchant-api-v2/mapi_v2_oas31/orders/{id}/release
- Production APIhttps://app.hive.app/merchant_api/v2/orders/{id}/release
- Staging APIhttps://staging.app.hive.app/merchant_api/v2/orders/{id}/release
curl -i -X PUT \
'https://developers.hive.app/_mock/merchant-api-v2/mapi_v2_oas31/orders/{id}/release' \
-H 'Authorization: Bearer <YOUR_token_HERE>'Order released successfully
B2B packing and shipping instructions (read-only, returned in order responses)
When the order was created. Will default to current time if omitted.
3-letter ISO 4217 currency code. Examples: EUR, USD, GBP, JPY
The order number which your customer sees. In case this is not the same as merchant_order_id.
When the order was originally created/placed by the customer. This can be different from created_at when doing bulk imports or when there's a delay between order placement and API submission.
Documents attached to this order (excluding system-generated documents). Only present for B2B orders.
Financial status of this order. Possible values:
- failed: Payment failed
- paid: Payment completed successfully
- pending: Payment is pending
- refunded: Payment has been refunded
An ID that uniquely identifies this order within the sales channel. Must be unique per sales channel.
How Hive fulfils the order. Possible values:
- B2B: a business order. It can carry
b2b_instructions,documentsandinventory_batcheson its items, and Hive picks, packs and ships it as a B2B order - B2C: a consumer order
Shipping address as returned on an order. Same fields as Address, plus the deprecated province_code, which is only returned; sending it on create or update has no effect.
Current fulfillment status of the order within Hive's fulfillment process. This tracks the order's progress from confirmation through delivery. Possible values:
- waiting_for_picking: Order is confirmed and waiting to be picked in the fulfillment center
- processing: Order is actively being processed (picked/packed) in the fulfillment center
- partially_shipped: Some items from the order have been shipped, but others are still pending
- shipped: All items from the order have been shipped
- on_hold: Order is temporarily paused (e.g., payment issues, merchant request)
- payment_pending: Order is waiting for payment confirmation
- cancelled: Order has been cancelled
- ignored: Order will not be fulfilled (automatically set based on external conditions)
Note: This field is read-only and managed entirely by Hive based on the fulfillment process.
Net refunds in cents (total refunded minus taxes)
Net revenue in cents (amount paid minus taxes)
{ "id": 123456, "items": [ { … } ], "merchant_order_id": "ORD-1001", "order_type": "B2C", "sales_channel_id": 10, "shipping_address": { "city": "Berlin", "country_code": "DE", "first_name": "Anna", "line1": "Alexanderplatz 1", "postal_code": "10178" }, "fulfillment_status": "waiting_for_picking", "financial_status": "paid", "created_at": "2023-10-01T12:00:00Z", "currency": "EUR", "payment_method": "credit_card", "tags": [ "priority", "gift" ], "total_price_in_cents": 3000, "total_tax_in_cents": 570, "total_net_revenue_in_cents": 2430, "total_net_refunds_in_cents": 0, "total_tax_refunds_in_cents": 0, "custom_metadata": { "gift_message": "Happy Birthday!" }, "customer_order_number": "CUST-ORD-2023-01", "carrier_preference": "DHL", "external_created_at": "2023-10-01T10:30:00Z", "updated_at": "2023-10-01T14:30:00Z" }