Move payment devices between stores

Move payment devices between stores

POST api/payment_devices/move

Moves one or more payment devices from one store to another.

Request syntax

post api/payment_devices/move '{"from":{"store_number":"<store_number>","store_name":"<store_name>"},"to":{"store_number":"<store_number>","store_name":"<store_name>"},"payment_devices":["<serial_id>"]}'

Request parameters

The request accepts the following data in JSON format.

ParameterTypeDescriptionRequiredDefault value
fromObjectThe store the payment devices are moving from. Must contain both store_number and store_name.YesN/A
toObjectThe store the payment devices are moving to. Must contain both store_number and store_name.YesN/A
payment_devicesArray of StringsThe serial numbers (serial_id) of the payment devices to move.YesN/A

Response syntax

{
    "success": boolean,
    "devices": [
        {
            "store_id": integer,
            "device_ip": "string",
            "register_number": integer,
            "status": "string",
            "active": boolean,
            "id": integer,
            "device_terminal_id": "string",
            "created_at": "timestamp",
            "updated_at": "timestamp",
            "payment_device_type_id": integer,
            "mac_address": "string",
            "serial_id": "string",
            "device_location": "string",
            "product_type": "string",
            "group": "string",
            "owner_name": "string",
            "status_last_update": "timestamp",
            "serial_id_processed": "string",
            "last_inspected_date": "string",
            "last_serial_error": "string",
            "action_last_executed_by": "string",
            "action_last_executed_at_timestamp": "timestamp",
            "last_inspected_by": "string",
            "last_transaction_timestamp": "string",
            "unit_serial_id": "string",
            "pedpooling": boolean,
            "p2pe_payment_applications": "string",
            "p2pe_non_payment_applications": "string",
            "hardware_version": "string",
            "firmware_version": "string"
        }
    ],
    "exporter_job": integer
}

Response parameters

If the action is successful, an HTTP 201 response is returned. The following data is returned in JSON format.

FieldTypeDescription
successBooleanWhether the move succeeded.
devicesArray of objectsThe details of each payment device that was moved, as they are in the destination store.
exporter_jobIntegerThe ID of the exporter job created for the change.

Errors

The following are errors returned by this API. For a complete list of common errors, see Common errors.

CodeMessageCause
403403 ForbiddenThe from or to store couldn't be found. Check that both store_number and store_name match an existing store.

Examples

Example: Move a payment device to another store

This example moves the payment device with serial number DOCS-TEST-0001 from store 2324 (Lucas Test) to store 9999 (Device Depot). In the destination store, the device's status is set to Awaiting Deployment, it is marked inactive, and its IP address is cleared. Its register number can also change: in this example, the device was moved from register 901 to register 7.

ruby api.rb <customer_code> post api/payment_devices/move '{"from":{"store_number":"2324","store_name":"Lucas Test"},"to":{"store_number":"9999","store_name":"Device Depot"},"payment_devices":["DOCS-TEST-0001"]}'

Response

{
  "success": true,
  "devices": [
    {
      "store_id": 250,
      "device_ip": null,
      "register_number": 7,
      "status": "Awaiting Deployment",
      "active": false,
      "id": 135738,
      "device_terminal_id": null,
      "created_at": "2026-10-10T16:47:50.877Z",
      "updated_at": "2026-10-10T16:49:27.472Z",
      "payment_device_type_id": 144,
      "mac_address": "00:0b:4f:12:34:57",
      "serial_id": "DOCS-TEST-0001",
      "device_location": "Front counter",
      "product_type": "EPP",
      "group": null,
      "owner_name": "Store 9999 (New York/New York): Register 7 (E280FP) Serial number: DOCS-TEST-0001",
      "status_last_update": "2026-10-10T16:49:27.471Z",
      "serial_id_processed": "DOCSTEST0001",
      "last_inspected_date": null,
      "last_serial_error": null,
      "action_last_executed_by": "test.user",
      "action_last_executed_at_timestamp": "2026-10-10T16:48:46.286Z",
      "last_inspected_by": null,
      "last_transaction_timestamp": null,
      "unit_serial_id": null,
      "pedpooling": true,
      "p2pe_payment_applications": "",
      "p2pe_non_payment_applications": "",
      "hardware_version": "",
      "firmware_version": ""
    }
  ],
  "exporter_job": 1781588
}