NNarya Developers

Set up a device

Putting a device into service takes four requests. Before you start:

  • The trading must exist. See Manage merchants.
  • You need a key for your whole organisation. A key limited to one vendor can register that vendor's devices, but cannot set them up.
Your systemNaryaTerminal1 · Register2 · Set up for a product3 · Set parameters4 · Issue activation codeactivation_codeGive the code to the installerInstaller enters the codeactivatedFetch applications and parametersyour valuesRead the devicestatus: activatedIntegration APIThe terminalOutside Narya
Activation happens on the terminal, not through the API. The terminal fetches its parameters once it is activated, and your system sees the change by reading the device.

Steps

Register the device. Send its serial number, its vendor and its model. List the models with GET /integration/v1/device-models.

POST /integration/v1/devices
Idempotency-Key: 0192f6c4-8a20-7d31-b4c5-d6e7f8a9b0c1

{"device_identifier": "SN-58210043", "vendor_id": "…", "model_id": "…"}

To register many devices of one model at once, use POST /integration/v1/devices/batch with a list of serials. The device starts as not_activated.

Set it up for a product at a trading. Name the trading and the acquirer, by Narya id or by your external_ref.

PUT /integration/v1/devices/{id}/products/{product_code}

{"trading_external_ref": "HQ-T-2001", "acquirer_external_ref": "BANK-01"}
  • If the product has more than one vendor, also send vendor_id. GET /integration/v1/products lists each product's vendors.
  • If the trading is not enrolled in the product through that acquirer yet, this request enrolls it.
  • If the device is set up at another trading, release it there first.

Every check runs before any change, so a refused request changes nothing and a repeat is safe.

Set its parameters. Find the application with GET /integration/v1/applications?product_code=…. Use the one where:

  • acquirer_id is your acquirer, or null if the application serves every acquirer, and
  • schema_revision is set.

Then send this device's values for it.

PUT /integration/v1/devices/{id}/applications/{application_id}/parameters

{"last_modified_at": "2026-10-22T09:30:00Z", "values": {…}}

Narya checks the values against the application's parameter schema and delivers them to the device. Set last_modified_at to when the values changed in your system, so a delayed write cannot undo a newer one.

Issue an activation code.

POST /integration/v1/devices/{id}/activation-codes

Give the activation_code to whoever installs the terminal. The device becomes activated when the code is entered on it.

Afterwards

  • To see whether the device was activated, read it with GET /integration/v1/devices/{id} and check its status.
  • To pair it again after a reinstall or a hardware swap, issue a new code. The terminal keeps working until the new code is used.
  • To take it out of a product, DELETE /integration/v1/devices/{id}/products/{product_code}. This clears its parameters for that product.

See Device lifecycle for every status and what you can do in it.

On this page