Rehbar Post External API Documentation
This documentation describes how to authenticate and interact with the Rehbar Post external API for courier serviceability, warehouse discovery, order management, shipment creation, cancellation, label retrieval, and tracking. All request bodies must be sent as JSON, and every protected request must include the Authorization header with a Bearer API key.
1. Authentication
Every authenticated API request must include the Authorization header using the Bearer token format. All request payloads must be sent with Content-Type: application/json.
Authorization: Bearer APIKEY
Content-Type: application/json
Common Request Rules
| Rule | Requirement |
|---|---|
| Body Format | All request bodies must be JSON. |
| Content Type | Send Content-Type: application/json in all requests with body. |
| Authorization | Send Authorization: Bearer APIKEY for protected endpoints. |
| Base Domain | https://api.rehbarpost.com |
Status Codes
The exact response body can vary by endpoint, but the following status codes should be used to interpret successful and failed requests.
| Status Code | Meaning | Typical Usage |
|---|---|---|
| 200 OK | Request completed successfully. | Used for successful GET, PATCH, and some POST operations. |
| 201 Created | Resource created successfully. | Used for order or shipment creation. |
| 400 Bad Request | Invalid payload or missing required fields. | Malformed JSON, missing parameters, invalid values. |
| 401 Unauthorized | Authentication failed. | Missing or invalid API key. |
| 404 Not Found | Resource was not found. | Order ID, shipment, warehouse, or AWB not found. |
| 409 Conflict | Duplicate or conflicting request. | Order already exists or shipment already created. |
| 422 Unprocessable Entity | Validation failed. | Valid JSON with invalid business data. |
| 500 Internal Server Error | Unexpected server error. | Unhandled internal system failure. |
API Endpoints
2. Check serviceability / availability of courier partners
This endpoint returns the list of available courier partners for a shipment based on origin, destination, weight, order value, and payment mode.
Authorization: Bearer APIKEY
Content-Type: application/json
{
"origin": "530026",
"destination": "560052",
"weight": 1,
"orderValue": 1200,
"paymentMode": "cod"
}
| Field | Type | Description |
|---|---|---|
| origin | string | Pickup pincode for the shipment origin. |
| destination | string | Delivery pincode for the shipment destination. |
| weight | number | Shipment weight in kilograms. |
| orderValue | number | Total shipment order value. |
| paymentMode | string | Payment type. Common values: cod, prepaid. |
curl --request POST \
--url 'https://api.rehbarpost.com/operations/shipment/external/forward/rates' \
--header 'Authorization: Bearer APIKEY' \
--header 'Content-Type: application/json' \
--data '{
"origin":"530026",
"destination":"560052",
"weight":1,
"orderValue":1200,
"paymentMode":"cod"
}'
Success
200 OK - Courier partners and rates retrieved successfully.
Failure
400 / 401 / 422 - Missing fields, invalid values, or unauthorized request.
3. Get all available warehouses
Returns all warehouses available for the authenticated account.
Authorization: Bearer APIKEY
Content-Type: application/json
curl --request GET \
--url 'https://api.rehbarpost.com/operations/external/warehouse/bulk' \
--header 'Authorization: Bearer APIKEY' \
--header 'Content-Type: application/json'
Success
200 OK - Warehouse list returned successfully.
Failure
401 / 404 / 500 - Unauthorized, endpoint mismatch, or server failure.
4a. Create Forward order
Creates a new order in the system. This order can later be used for shipment creation.
Authorization: Bearer APIKEY
Content-Type: application/json
{
"orderId":"RP4030391614",
"orderDate":"2026-07-14",
"buyerName":"Theodore Rosenblatt",
"buyerPhone":"9876543210",
"buyerAddress":"Annal Gandhi Street,jkhkjb",
"buyerLandmark":"test landmark",
"buyerPinCode":"999999",
"buyerCity":"GURUGRAM",
"type":"forward",
"buyerState":"HARYANA",
"buyerCountry":"India",
"customer":"6a51e2e0a9edfa7a754c954c",
"paymentMode":"prepaid",
"deliveryCharges":120,
"totalAmount":1505.95,
"products":[
{
"productName":"The Collection Snowboard: Hydrogen",
"productQuantity":1,
"productPrice":600
},
{
"productName":"The Compare at Price Snowboard",
"productQuantity":1,
"productPrice":785.95
}
],
"packageWeight":1,
"packageWidth":13,
"packageHeight":12,
"packageLength":14,
"volumetricWeight":0.44,
"deadWeight":1,
"applicableWeight":1,
"channel":"mannual",
"journey":"forward",
"pickup":"6a4dda70f5f0d3052c2e7252",
"warehouse":"6a4dda70f5f0d3052c2e7252"
}
| Field | Type | Description |
|---|---|---|
| orderId | string | Unique merchant order identifier. |
| orderDate | string | Order creation date in YYYY-MM-DD format. |
| buyerName | string | Recipient full name. |
| buyerPhone | string | Recipient mobile number. |
| buyerAddress | string | Complete delivery address. |
| buyerLandmark | string | Nearby landmark for delivery assistance. |
| buyerPinCode | string | Delivery pincode. |
| buyerCity | string | Delivery city. |
| type | string | Order type, such as forward. |
| buyerState | string | Delivery state. |
| buyerCountry | string | Delivery country. |
| customer | string | Customer identifier in the system. |
| paymentMode | string | prepaid or cod. |
| deliveryCharges | number | Delivery fee charged for the order. |
| totalAmount | number | Final order amount including products and charges. |
| products | array | List of ordered products. |
| productName | string | Name of the product item. |
| productQuantity | number | Quantity of the product. |
| productPrice | number | Unit or line-item price of the product. |
| packageWeight | number | Package dead weight in kilograms. |
| packageWidth | number | Package width. |
| packageHeight | number | Package height. |
| packageLength | number | Package length. |
| volumetricWeight | number | Calculated volumetric weight. |
| deadWeight | number | Measured physical weight. |
| applicableWeight | number | Chargeable shipment weight. |
| channel | string | Order source channel. Example: mannual. |
| journey | string | Shipment journey type. Example: forward. |
| pickup | string | Pickup location or warehouse identifier. |
| warehouse | string | Warehouse identifier from which order will be processed. |
curl --request POST \
--url 'https://api.rehbarpost.com/operations/order/external/' \
--header 'Authorization: Bearer APIKEY' \
--header 'Content-Type: application/json' \
--data '{
"orderId":"RP4030391614",
"orderDate":"2026-07-14",
"buyerName":"Theodore Rosenblatt",
"buyerPhone":"9876543210",
"buyerAddress":"Annal Gandhi Street,jkhkjb",
"buyerLandmark":"test landmark",
"buyerPinCode":"999999",
"buyerCity":"GURUGRAM",
"type":"forward",
"buyerState":"HARYANA",
"buyerCountry":"India",
"customer":"6a51e2e0a9edfa7a754c954c",
"paymentMode":"prepaid",
"deliveryCharges":120,
"totalAmount":1505.95,
"products":[
{
"productName":"The Collection Snowboard: Hydrogen",
"productQuantity":1,
"productPrice":600
},
{
"productName":"The Compare at Price Snowboard",
"productQuantity":1,
"productPrice":785.95
}
],
"packageWeight":1,
"packageWidth":13,
"packageHeight":12,
"packageLength":14,
"volumetricWeight":0.44,
"deadWeight":1,
"applicableWeight":1,
"channel":"mannual",
"journey":"forward",
"pickup":"6a4dda70f5f0d3052c2e7252",
"warehouse":"6a4dda70f5f0d3052c2e7252"
}'
Success
201 Created - Order created successfully.
Failure
400 / 401 / 409 / 422 - Invalid payload, unauthorized request, duplicate order, or validation failure.
4b. Create Reverse order
Creates a new order in the system. This order can later be used for shipment creation.
Authorization: Bearer APIKEY
Content-Type: application/json
{
"orderId":"RP4030391614",
"orderDate":"2026-07-14",
"buyerName":"Theodore Rosenblatt",
"buyerPhone":"9876543210",
"buyerAddress":"Annal Gandhi Street,jkhkjb",
"buyerLandmark":"test landmark",
"buyerPinCode":"999999",
"buyerCity":"GURUGRAM",
"type":"reverse",
"buyerState":"HARYANA",
"buyerCountry":"India",
"customer":"6a51e2e0a9edfa7a754c954c",
"paymentMode":"prepaid",
"deliveryCharges":120,
"totalAmount":1505.95,
"products":[
{
"productName":"The Collection Snowboard: Hydrogen",
"productQuantity":1,
"productPrice":600
},
{
"productName":"The Compare at Price Snowboard",
"productQuantity":1,
"productPrice":785.95
}
],
"packageWeight":1,
"packageWidth":13,
"packageHeight":12,
"packageLength":14,
"volumetricWeight":0.44,
"deadWeight":1,
"applicableWeight":1,
"channel":"mannual",
"journey":"reverse",
"pickup":"6a4dda70f5f0d3052c2e7252",
"warehouse":"6a4dda70f5f0d3052c2e7252"
}
| Field | Type | Description |
|---|---|---|
| orderId | string | Unique merchant order identifier. |
| orderDate | string | Order creation date in YYYY-MM-DD format. |
| buyerName | string | Recipient full name. |
| buyerPhone | string | Recipient mobile number. |
| buyerAddress | string | Complete delivery address. |
| buyerLandmark | string | Nearby landmark for delivery assistance. |
| buyerPinCode | string | Delivery pincode. |
| buyerCity | string | Delivery city. |
| type | string | Order type, such as forward. |
| buyerState | string | Delivery state. |
| buyerCountry | string | Delivery country. |
| customer | string | Customer identifier in the system. |
| paymentMode | string | prepaid or cod. |
| deliveryCharges | number | Delivery fee charged for the order. |
| totalAmount | number | Final order amount including products and charges. |
| products | array | List of ordered products. |
| productName | string | Name of the product item. |
| productQuantity | number | Quantity of the product. |
| productPrice | number | Unit or line-item price of the product. |
| packageWeight | number | Package dead weight in kilograms. |
| packageWidth | number | Package width. |
| packageHeight | number | Package height. |
| packageLength | number | Package length. |
| volumetricWeight | number | Calculated volumetric weight. |
| deadWeight | number | Measured physical weight. |
| applicableWeight | number | Chargeable shipment weight. |
| channel | string | Order source channel. Example: mannual. |
| journey | string | Shipment journey type. Example: forward. |
| pickup | string | Pickup location or warehouse identifier. |
| warehouse | string | Warehouse identifier from which order will be processed. |
curl --request POST \
--url 'https://api.rehbarpost.com/operations/order/external/' \
--header 'Authorization: Bearer APIKEY' \
--header 'Content-Type: application/json' \
--data '{
"orderId":"RP4030391614",
"orderDate":"2026-07-14",
"buyerName":"Theodore Rosenblatt",
"buyerPhone":"9876543210",
"buyerAddress":"Annal Gandhi Street,jkhkjb",
"buyerLandmark":"test landmark",
"buyerPinCode":"999999",
"buyerCity":"GURUGRAM",
"type":"forward",
"buyerState":"HARYANA",
"buyerCountry":"India",
"customer":"6a51e2e0a9edfa7a754c954c",
"paymentMode":"prepaid",
"deliveryCharges":120,
"totalAmount":1505.95,
"products":[
{
"productName":"The Collection Snowboard: Hydrogen",
"productQuantity":1,
"productPrice":600
},
{
"productName":"The Compare at Price Snowboard",
"productQuantity":1,
"productPrice":785.95
}
],
"packageWeight":1,
"packageWidth":13,
"packageHeight":12,
"packageLength":14,
"volumetricWeight":0.44,
"deadWeight":1,
"applicableWeight":1,
"channel":"mannual",
"journey":"reverse",
"pickup":"6a4dda70f5f0d3052c2e7252",
"warehouse":"6a4dda70f5f0d3052c2e7252"
}'
Success
201 Created - Order created successfully.
Failure
400 / 401 / 409 / 422 - Invalid payload, unauthorized request, duplicate order, or validation failure.
5. Get orders in bulk
Returns a bulk list of orders for the authenticated account.
curl --request GET \
--url 'https://api.rehbarpost.com/operations/order/external/bulk' \
--header 'Authorization: Bearer APIKEY' \
--header 'Content-Type: application/json'
Success
200 OK - Orders retrieved successfully.
Failure
401 / 404 / 500 - Unauthorized, invalid route, or internal error.
6. Get order by ID
Returns a single order using the merchant order ID.
| Parameter | Type | Description |
|---|---|---|
| orderId | string | Unique order ID to fetch. |
curl --request GET \
--url 'https://api.rehbarpost.com/operations/order/external/RP4030391614' \
--header 'Authorization: Bearer APIKEY' \
--header 'Content-Type: application/json'
Success
200 OK - Order returned successfully.
Failure
401 / 404 - Unauthorized or order not found.
7. Update order by ID
Updates an existing order using the specified orderId.
{
"orderId":"RP3916207889",
"orderDate":"2026-07-14",
"buyerName":"umer-test-update",
"buyerPhone":"9906818584",
"buyerAddress":"test-add",
"buyerLandmark":"",
"buyerPinCode":"560052",
"buyerCity":"Bangalore",
"type":"forward",
"buyerState":"Karnataka",
"buyerCountry":"India",
"customer":"6a54666eb95d6204127ee46c",
"paymentMode":"cod",
"deliveryCharges":0,
"totalAmount":1200,
"products":[
{
"productName":"Jeans M Size",
"productQuantity":1,
"productPrice":1200
}
],
"packageWeight":1,
"packageWidth":6,
"packageHeight":6,
"packageLength":6,
"volumetricWeight":0.04,
"deadWeight":1,
"applicableWeight":1,
"channel":"mannual",
"journey":"forward",
"pickup":"6a4dda70f5f0d3052c2e7252",
"warehouse":"6a4dda70f5f0d3052c2e7252"
}
curl --request PATCH \
--url 'https://api.rehbarpost.com/operations/order/external/RP3916207889' \
--header 'Authorization: Bearer APIKEY' \
--header 'Content-Type: application/json' \
--data '{
"orderId":"RP3916207889",
"orderDate":"2026-07-14",
"buyerName":"umer-test-update",
"buyerPhone":"9906818584",
"buyerAddress":"test-add",
"buyerLandmark":"",
"buyerPinCode":"560052",
"buyerCity":"Bangalore",
"type":"forward",
"buyerState":"Karnataka",
"buyerCountry":"India",
"customer":"6a54666eb95d6204127ee46c",
"paymentMode":"cod",
"deliveryCharges":0,
"totalAmount":1200,
"products":[
{
"productName":"Jeans M Size",
"productQuantity":1,
"productPrice":1200
}
],
"packageWeight":1,
"packageWidth":6,
"packageHeight":6,
"packageLength":6,
"volumetricWeight":0.04,
"deadWeight":1,
"applicableWeight":1,
"channel":"mannual",
"journey":"forward",
"pickup":"6a4dda70f5f0d3052c2e7252",
"warehouse":"6a4dda70f5f0d3052c2e7252"
}'
Success
200 OK - Order updated successfully.
Failure
400 / 401 / 404 / 422 - Invalid data, unauthorized, order not found, or validation failure.
8. Delete order by ID
Deletes an order using the provided order ID.
curl --request DELETE \
--url 'https://api.rehbarpost.com/operations/order/external/RP3916207889' \
--header 'Authorization: Bearer APIKEY' \
--header 'Content-Type: application/json'
Success
200 OK - Order deleted successfully.
Failure
401 / 404 - Unauthorized or order not found.
9a. Create shipment - Forward
Creates a forward shipment for an existing order.
{
"warehouseId":"6a4dda70f5f0d3052c2e7252",
"orderId":"RP4025977302",
"rateId":"6a4c85603ce086f480d9b137"
}
| Field | Type | Description |
|---|---|---|
| warehouseId | string | Warehouse ID for shipment pickup. If not passed, default warehouse will be used. |
| orderId | string | Existing order ID for shipment creation. |
| rateId | string | Selected courier rate ID from the serviceability API. |
| serviceType | string | Required only when rateId is not passed. Allowed values: surface, express. |
curl --request POST \
--url 'https://api.rehbarpost.com/operations/shipment/external/forward' \
--header 'Authorization: Bearer API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"warehouseId":"6a4dda70f5f0d3052c2e7252",
"orderId":"RP4025977302",
"rateId":"6a4c85603ce086f480d9b137"
}'
Success
201 Created - Forward shipment created successfully.
Failure
400 / 401 / 404 / 422 / 409 - Missing rate selection, unauthorized request, order not found, validation failure, or duplicate shipment.
9b. Create Reverse Shipment
Creates a reverse shipment (Return Pickup) for an existing order. Reverse shipment can either be created by selecting a specific courier rate using rateId or by providing a serviceType. When serviceType is used, Rehbar Post automatically selects the cheapest available courier under that service.
Authorization: Bearer API_KEY
Content-Type: application/json
{
"warehouseId":"6a4dda70f5f0d3052c2e7252",
"orderId":"RP4025977302",
"rateId":"6a4c85603ce086f480d9b137"
}
Request Fields
| Field | Type | Required | Description |
|---|---|---|---|
| warehouseId | String | No | Warehouse ID returned from Get Warehouses API. If omitted, default warehouse will be used. |
| orderId | String | Yes | Merchant Order ID. |
| rateId | String | No* | Courier Rate ID returned by Serviceability API. |
| serviceType | String | No* |
Required only when rateId is not passed.
Possible values:
|
- warehouseId can be obtained from Get Warehouses API.
- rateId can be obtained from Serviceability API.
- If warehouseId is omitted, your default warehouse will be used.
- If rateId is omitted, serviceType becomes mandatory.
- When serviceType is supplied, cheapest available courier will be selected automatically.
curl --request POST \
--url https://api.rehbarpost.com/operations/shipment/external/reverse \
--header "Authorization: Bearer API_KEY" \
--header "Content-Type: application/json" \
--data '{
"warehouseId":"6a4dda70f5f0d3052c2e7252",
"orderId":"RP4025977302",
"rateId":"6a4c85603ce086f480d9b137"
}'
Success
201 Created Reverse shipment successfully created.
Failure
400 Validation Failed
401 Unauthorized
404 Order Not Found
409 Shipment Already Exists
422 Invalid Shipment Request
10. Cancel Shipment
Cancels an already created shipment using the courier AWB number.
Authorization: Bearer API_KEY
Content-Type: application/json
{
"awb":"123456"
}
| Field | Type | Required | Description |
|---|---|---|---|
| awb | String | Yes | Courier AWB Number to cancel. |
curl --request POST \
--url https://api.rehbarpost.com/operations/shipment/external/cancel \
--header "Authorization: Bearer API_KEY" \
--header "Content-Type: application/json" \
--data '{
"awb":"123456"
}'
Success
200 OK Shipment cancelled successfully.
Failure
400 Bad Request
401 Unauthorized
404 Shipment Not Found
409 Shipment Already Delivered
11. Get Shipments in Bulk
Returns all created shipments belonging to the authenticated account.
curl --request GET \
--url https://api.rehbarpost.com/operations/shipment/external/forward/bulk \
--header "Authorization: Bearer API_KEY"
Success
200 OK Shipment list returned successfully.
Failure
401 Unauthorized
500 Internal Server Error
12. Get Shipment by AWB (Track)
Returns complete shipment details for the supplied AWB number.
curl --request GET \
--url https://api.rehbarpost.com/operations/shipment/external/track/123456 \
--header "Authorization: Bearer API_KEY"
Success
200 OK
Failure
401 Unauthorized
404 AWB Not Found
13. Download Shipping Label
Downloads printable courier shipping label PDF.
curl --request GET \
--url https://api.rehbarpost.com/operations/shipment/external/label/123456 \
--header "Authorization: Bearer API_KEY"
Success
200 OK PDF Label returned.
Failure
401 Unauthorized
404 Label Not Found