Legacy Device API

Device / QR API

Documentation for /device-api/v1 (GOWA QR messaging). New integrations should use API v1 devices and messages endpoints with unified webhooks.

Legacy — prefer API v1 Use API v1 Devices, Messages, and Webhooks for new work.

Base URL

Production
https://staging-mobile.washeej.com/device-api/v1

Supported message types

  • Text — plain text
  • Image / Video / Document / Audio — URL-based media
  • Location — coordinates with optional name and address

What is instance_id?

instance_id is the ID of one Device (QR) number, used with API key authentication. Every message call sends it in the body, and every instance call puts it in the path (/instances/{instance_id}). Treat it as an opaque string (numbers linked today use a UUID); it stays the same for the life of the number.

Where to find it

  • Washeej dashboard → open the Device number's page → Device status panel → Instance ID (copy button).
  • Developer platform → Device (QR) numbers: instance IDs lists every Device number with its instance ID.
  • API: GET /device-api/v1/instances returns instance_id for each number; POST /device-api/v1/instances returns it when you create one.

These all show the value every /device-api/v1 endpoint accepts. Message endpoints (/messages/*) also accept the GOWA device id (the device_id in webhook payloads); instance endpoints (/instances/{instance_id}/…) accept only instance_id and return 404 not_found for anything else.

API v1 does not use instance_id API v1 identifies a number by its numeric channel id from GET /v1/devices (sent as whatsapp_account_id, or in the path of /v1/devices/{id}). To migrate, match phone_number between GET /device-api/v1/instances and GET /v1/devices.

The Device API supports API key authentication only (no OAuth 2.0) and allows 100 requests per minute per account — see Authentication.