Update Location
Replaces all editable fields of an existing location.
PUT
is a full-object update—any fields you omit will be reset to their defaults, so always send the complete object you want stored.
Endpoint
PUT /Locations/{id}
Path parameters
id
string
✔︎
The locationId
returned when the location was created
Request headers
Authorization
Bearer <access-token>
Content-Type
application/json
Accept
application/json
Request body (full replacement)
address
object
✔︎
Provide the full address block—even if only one line changed
name
string
✔︎
Friendly store label shown in dashboards
tenderTypes
array<string>
✔︎
Pass an empty array []
to inherit merchant defaults
maxTransactionAmount
integer
✔︎
Minor units (0
= no limit)
Example request
curl -X PUT "https://api.test.devs.beadpay.io/Locations/loc_bfdc6a7f" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Downtown Flagship – Renovated",
"address": {
"address1": "123 Main St",
"address2": "Suite 300",
"city": "Springfield",
"region": "MA",
"country": "US",
"postalCode": "01109"
},
"maxTransactionAmount": 2000000,
"tenderTypes": ["ethereum"]
}'
Successful response — 200
{
"id": "loc_bfdc6a7f",
"created": "2025-06-04T16:08:03.226Z",
"updated": "2025-06-14T09:42:11.015Z",
"merchantId": "mer_4e5a13aa",
"name": "Downtown Flagship – Renovated",
"tenderTypes": ["ethereum"],
"maxTransactionAmount": 2000000,
"address": {
"address1": "123 Main St",
"address2": "Suite 300",
"city": "Springfield",
"region": "MA",
"country": "US",
"postalCode": "01109"
},
"terminals": []
}
Immutable fields
id
, merchantId
, and timestamp fields cannot be changed; any attempt returns 400 invalid_request.
Error responses
400
Missing required fields or immutable field modified
404
Location {id}
does not exist or is not visible to your token
409
Duplicate address already used by another location for this merchant
Best practices
Fetch the current location, patch locally, then send the full object
Prevents accidental nulling of fields you forgot to include
Use descriptive names (city + store #)
Helps support quickly locate a store
Disable the location (isEnabled=false
, if field exposed) before large updates in production
Avoids transactions during maintenance
Log the updated
timestamp
Useful for audit trails and cache invalidation
Related endpoints
Get Location –
GET /Locations/{id}
to retrieve the current objectList Locations –
GET /Merchants/{id}/locations
to fetch all storesDelete Location –
DELETE /Locations/{id}
when decommissioning a store
Last updated