I have tried multiple different schemas, none of them work.
-
What is the correct JSON payload format for batch region creation via POST {mmcMerchantId}/regions? The docs say the request type is "Batch" (containing entries[]), but this fails. Only a single flat Region object works. Can you provide a working example?
-
What is the correct JSON payload format for batch region updates via POST {mmcMerchantId}/regions/batch? Should the region data be nested under a "region" key in each entry item, or flattened into the entry? Should method be "update" or "insert"?
-
Are the batch endpoints actually implemented and live? Or are they documented but not yet available?
-
Are there any required headers we might be missing for batch requests? For example, Content-Encoding, a different Content-Type, or a feature-flag header?
-
Is there a difference in batch behavior between API versions v9.1 and v13? We tested both with the same results.
-
Is there a batch delete endpoint for regions? The docs only show DELETE /regions/{regionId} for individual deletes. For merchants with 135k+ regions, individual deletes are infeasible.
POST /shopping/v9.1/bmc/*** REDACTED ***/regions HTTP/1.1
Content-Type: application/json
Accept: application/json
AuthenticationToken: *** REDACTED ***
DeveloperToken: *** REDACTED ***
CustomerId: *** REDACTED ***
CustomerAccountId: *** REDACTED ***
Host: content.api.bingads.microsoft.com
Connection: close
User-Agent: RapidAPI/4.5.0 (Macintosh; OS X/26.4.0) GCDHTTPRequest
Content-Length: 540
{
"entries": [
{
"batchId": 1,
"merchantId": *** REDACTED ***,
"method": "insert",
"id": "batchTestA20260415073026",
"displayName": "Batch Test Region A",
"countryCode": "US",
"postalCodes": [
{ "begin": "90210" }
]
},
{
"batchId": 2,
"merchantId": *** REDACTED ***,
"method": "insert",
"id": "batchTestB20260415073026",
"displayName": "Batch Test Region B",
"countryCode": "US",
"postalCodes": [
{ "begin": "10001" }
]
}
]
}
HTTP/1.1 400 Bad Request
Date: Thu, 16 Apr 2026 13:34:19 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 87
Connection: close
WebRequestActivityId: *** REDACTED ***
x-azure-ref: *** REDACTED ***
X-Cache: CONFIG_NOCACHE
{"errors":[{"code":"RequestParseErr","message":"Region payload or RegionId is null."}]}
I have tried multiple different schemas, none of them work.
What is the correct JSON payload format for batch region creation via
POST {mmcMerchantId}/regions? The docs say the request type is "Batch" (containingentries[]), but this fails. Only a single flat Region object works. Can you provide a working example?What is the correct JSON payload format for batch region updates via
POST {mmcMerchantId}/regions/batch? Should the region data be nested under a"region"key in each entry item, or flattened into the entry? Shouldmethodbe"update"or"insert"?Are the batch endpoints actually implemented and live? Or are they documented but not yet available?
Are there any required headers we might be missing for batch requests? For example,
Content-Encoding, a differentContent-Type, or a feature-flag header?Is there a difference in batch behavior between API versions v9.1 and v13? We tested both with the same results.
Is there a batch delete endpoint for regions? The docs only show
DELETE /regions/{regionId}for individual deletes. For merchants with 135k+ regions, individual deletes are infeasible.Example Request: