Update Terminal
Modify a terminal’s metadata, tender types, or display options. Two verbs are supported:
PUT
You want to replace the entire editable object—every mutable field must be present in the request. Fields you omit will be reset to their default values.
Full terminal object minus read-only fields (id
, merchantId
, created
, etc.).
PATCH
You want to change only one or a few fields. Fields you omit remain unchanged.
Just the properties you want to update.
Endpoint
PUT →
https://api.test.devs.beadpay.io/Terminals/{id}
PATCH →
https://api.test.devs.beadpay.io/Terminals/{id}
Required header
Authorization
Bearer eyJhbGciOiJS…
Content-Type
application/json
Editable fields
name
string
✔
✔
Friendly display name.
description
string
✔
✔
Optional notes shown in dashboards.
tenderTypes
array
✔
✔
Accepted methods (e.g., ethereum
).
displayLogo
boolean
✔
✔
Show Bead logo on hosted pages.
isEnabled
boolean
✔
✔
Disable to block new payments.
(others read-only)
—
—
id
, merchantId
, created
, updated
, etc.
PUT example – full replace
Successful 200 OK response (same schema as Get Terminal):
PATCH example – partial update
Only the isEnabled
flag changes; all other fields remain intact.
Response codes
200 OK
Update applied; full terminal object returned.
400 Bad Request
Body failed validation (e.g., missing fields on PUT).
404 Not Found
id
does not match any terminal you own.
409 Conflict
Attempted to disable a terminal with active payment sessions.
401 / 403
Invalid or expired token.
Choosing PUT vs. PATCH
Admin screen where you save the entire form every time
PUT
Automation toggling isEnabled
for maintenance windows
PATCH
Script that only updates tenderTypes
after a new payment method rollout
PATCH
Migration syncing every editable field from an external system
PUT
Usage tips
Use PATCH for CI scripts and quick toggles; it’s safer because you can’t accidentally reset untouched fields.
Always read the response body—it echoes the updated object and includes the new
updated
timestamp.If you need to modify the terminal’s webhook URL, use Set Webhook; it has its own endpoint.
Last updated