Create Location
curl --request POST \
--url https://api.launchmystore.io/warehouse/add-warehouse \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"warehouseName": "<string>",
"warehouseType": "<string>",
"contactPerson": "<string>",
"mobileNumber": "<string>",
"address": "<string>",
"area": "<string>",
"city": "<string>",
"state": "<string>",
"pinCode": "<string>",
"gstNumber": "<string>",
"localPickupEnabled": true,
"pickupHours": "<string>",
"pickupInstructions": "<string>"
}
'import requests
url = "https://api.launchmystore.io/warehouse/add-warehouse"
payload = {
"warehouseName": "<string>",
"warehouseType": "<string>",
"contactPerson": "<string>",
"mobileNumber": "<string>",
"address": "<string>",
"area": "<string>",
"city": "<string>",
"state": "<string>",
"pinCode": "<string>",
"gstNumber": "<string>",
"localPickupEnabled": True,
"pickupHours": "<string>",
"pickupInstructions": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
warehouseName: '<string>',
warehouseType: '<string>',
contactPerson: '<string>',
mobileNumber: '<string>',
address: '<string>',
area: '<string>',
city: '<string>',
state: '<string>',
pinCode: '<string>',
gstNumber: '<string>',
localPickupEnabled: true,
pickupHours: '<string>',
pickupInstructions: '<string>'
})
};
fetch('https://api.launchmystore.io/warehouse/add-warehouse', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.launchmystore.io/warehouse/add-warehouse",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'warehouseName' => '<string>',
'warehouseType' => '<string>',
'contactPerson' => '<string>',
'mobileNumber' => '<string>',
'address' => '<string>',
'area' => '<string>',
'city' => '<string>',
'state' => '<string>',
'pinCode' => '<string>',
'gstNumber' => '<string>',
'localPickupEnabled' => true,
'pickupHours' => '<string>',
'pickupInstructions' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.launchmystore.io/warehouse/add-warehouse"
payload := strings.NewReader("{\n \"warehouseName\": \"<string>\",\n \"warehouseType\": \"<string>\",\n \"contactPerson\": \"<string>\",\n \"mobileNumber\": \"<string>\",\n \"address\": \"<string>\",\n \"area\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"pinCode\": \"<string>\",\n \"gstNumber\": \"<string>\",\n \"localPickupEnabled\": true,\n \"pickupHours\": \"<string>\",\n \"pickupInstructions\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.launchmystore.io/warehouse/add-warehouse")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"warehouseName\": \"<string>\",\n \"warehouseType\": \"<string>\",\n \"contactPerson\": \"<string>\",\n \"mobileNumber\": \"<string>\",\n \"address\": \"<string>\",\n \"area\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"pinCode\": \"<string>\",\n \"gstNumber\": \"<string>\",\n \"localPickupEnabled\": true,\n \"pickupHours\": \"<string>\",\n \"pickupInstructions\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/warehouse/add-warehouse")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"warehouseName\": \"<string>\",\n \"warehouseType\": \"<string>\",\n \"contactPerson\": \"<string>\",\n \"mobileNumber\": \"<string>\",\n \"address\": \"<string>\",\n \"area\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"pinCode\": \"<string>\",\n \"gstNumber\": \"<string>\",\n \"localPickupEnabled\": true,\n \"pickupHours\": \"<string>\",\n \"pickupInstructions\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 201,
"state": "success",
"message": null,
"data": {
"warehouseId": "8c6b1d2e-3f4a-5b6c-9f1c-2e7a3b4d4f5a",
"warehouseName": "West Coast Warehouse",
"warehouseType": "Secondary",
"contactPerson": "John Doe",
"mobileNumber": "+1234567890",
"address": "789 Shipping Blvd",
"area": "Downtown",
"city": "Seattle",
"state": "Washington",
"pinCode": "98101",
"localPickupEnabled": false,
"storeId": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"createdAt": "2024-01-20T14:30:00Z",
"updatedAt": "2024-01-20T14:30:00Z"
},
"pagination": null
}
Locations
Create Location
Create an inventory location (warehouse)
POST
/
warehouse
/
add-warehouse
Create Location
curl --request POST \
--url https://api.launchmystore.io/warehouse/add-warehouse \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"warehouseName": "<string>",
"warehouseType": "<string>",
"contactPerson": "<string>",
"mobileNumber": "<string>",
"address": "<string>",
"area": "<string>",
"city": "<string>",
"state": "<string>",
"pinCode": "<string>",
"gstNumber": "<string>",
"localPickupEnabled": true,
"pickupHours": "<string>",
"pickupInstructions": "<string>"
}
'import requests
url = "https://api.launchmystore.io/warehouse/add-warehouse"
payload = {
"warehouseName": "<string>",
"warehouseType": "<string>",
"contactPerson": "<string>",
"mobileNumber": "<string>",
"address": "<string>",
"area": "<string>",
"city": "<string>",
"state": "<string>",
"pinCode": "<string>",
"gstNumber": "<string>",
"localPickupEnabled": True,
"pickupHours": "<string>",
"pickupInstructions": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
warehouseName: '<string>',
warehouseType: '<string>',
contactPerson: '<string>',
mobileNumber: '<string>',
address: '<string>',
area: '<string>',
city: '<string>',
state: '<string>',
pinCode: '<string>',
gstNumber: '<string>',
localPickupEnabled: true,
pickupHours: '<string>',
pickupInstructions: '<string>'
})
};
fetch('https://api.launchmystore.io/warehouse/add-warehouse', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.launchmystore.io/warehouse/add-warehouse",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'warehouseName' => '<string>',
'warehouseType' => '<string>',
'contactPerson' => '<string>',
'mobileNumber' => '<string>',
'address' => '<string>',
'area' => '<string>',
'city' => '<string>',
'state' => '<string>',
'pinCode' => '<string>',
'gstNumber' => '<string>',
'localPickupEnabled' => true,
'pickupHours' => '<string>',
'pickupInstructions' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.launchmystore.io/warehouse/add-warehouse"
payload := strings.NewReader("{\n \"warehouseName\": \"<string>\",\n \"warehouseType\": \"<string>\",\n \"contactPerson\": \"<string>\",\n \"mobileNumber\": \"<string>\",\n \"address\": \"<string>\",\n \"area\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"pinCode\": \"<string>\",\n \"gstNumber\": \"<string>\",\n \"localPickupEnabled\": true,\n \"pickupHours\": \"<string>\",\n \"pickupInstructions\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.launchmystore.io/warehouse/add-warehouse")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"warehouseName\": \"<string>\",\n \"warehouseType\": \"<string>\",\n \"contactPerson\": \"<string>\",\n \"mobileNumber\": \"<string>\",\n \"address\": \"<string>\",\n \"area\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"pinCode\": \"<string>\",\n \"gstNumber\": \"<string>\",\n \"localPickupEnabled\": true,\n \"pickupHours\": \"<string>\",\n \"pickupInstructions\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/warehouse/add-warehouse")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"warehouseName\": \"<string>\",\n \"warehouseType\": \"<string>\",\n \"contactPerson\": \"<string>\",\n \"mobileNumber\": \"<string>\",\n \"address\": \"<string>\",\n \"area\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"pinCode\": \"<string>\",\n \"gstNumber\": \"<string>\",\n \"localPickupEnabled\": true,\n \"pickupHours\": \"<string>\",\n \"pickupInstructions\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 201,
"state": "success",
"message": null,
"data": {
"warehouseId": "8c6b1d2e-3f4a-5b6c-9f1c-2e7a3b4d4f5a",
"warehouseName": "West Coast Warehouse",
"warehouseType": "Secondary",
"contactPerson": "John Doe",
"mobileNumber": "+1234567890",
"address": "789 Shipping Blvd",
"area": "Downtown",
"city": "Seattle",
"state": "Washington",
"pinCode": "98101",
"localPickupEnabled": false,
"storeId": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"createdAt": "2024-01-20T14:30:00Z",
"updatedAt": "2024-01-20T14:30:00Z"
},
"pagination": null
}
There is no
POST /api/v1/locations.json endpoint, and the OAuth App
API exposes no location/warehouse CRUD. Inventory locations are managed
only through the merchant dashboard surface documented below, which is
authenticated with a merchant session (JWT) — not with an OAuth app
access token. Installed apps cannot create locations.Create Location
Inventory locations are modeled as warehouses. A new warehouse is created through the merchant endpointPOST /warehouse/add-warehouse.
Authentication: merchant session, allowed roles MERCHANT,
STAFF_ADMIN, SUPER_ADMIN, MANAGER. An active store subscription is
required; warehouse count is capped by plan tier.
Body Parameters
Location name.
Primary or Secondary.Name of the contact person for this location.
Contact phone number.
Street address.
Area / locality.
City.
State / province.
Postal / PIN code.
Tax registration number (optional).
When
true, this warehouse is offered as a local “Pickup” option at
checkout for buyers whose destination country matches.Pickup hours shown at checkout (when local pickup is enabled).
Pickup instructions shown at checkout (when local pickup is enabled).
Response
The created warehouse is returned directly underdata in the standard
response envelope.
{
"status": 201,
"state": "success",
"message": null,
"data": {
"warehouseId": "8c6b1d2e-3f4a-5b6c-9f1c-2e7a3b4d4f5a",
"warehouseName": "West Coast Warehouse",
"warehouseType": "Secondary",
"contactPerson": "John Doe",
"mobileNumber": "+1234567890",
"address": "789 Shipping Blvd",
"area": "Downtown",
"city": "Seattle",
"state": "Washington",
"pinCode": "98101",
"localPickupEnabled": false,
"storeId": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"createdAt": "2024-01-20T14:30:00Z",
"updatedAt": "2024-01-20T14:30:00Z"
},
"pagination": null
}
⌘I