Create whitelisting (legacy)
Allow a single device MAC to bypass the Captive Portal.
Legacy API
This page describes the legacy Sign In API. New integrations use the Sign In API with an Organization API key. The same operation there: Create a whitelisting.
POST /v1/org/{organizationId}/contexts/sign-in/{contextId}/modules/whitelistings
Whitelists one MAC address. A whitelisted device connects to the SSID and skips the Captive Portal.
The creator recorded for the entry is taken automatically from the authenticated API caller and is shown in the admin under the entry’s metadata; it cannot be set in the request.
Request
Section titled “Request”| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
organizationId | Path | string | Yes | Organization ID. |
contextId | Path | string | Yes | Sign-In Context ID. |
x-auth-token | Header | string | Yes | Context API key. |
id | Body | string | Optional UUID for the whitelist entry. Leave empty to let the backend generate one. | |
mac | Body | string | Yes | Device MAC address. Accepted formats: AA:BB:CC:DD:EE:FF or AA-BB-CC-DD-EE-FF. |
name | Body | string | Yes | Device name. 2–100 characters. Allowed characters: a-z A-Z 0-9 å ä ö Å Ä Ö & - , . and space. |
description | Body | string | Free-form description, 0–200 characters. Same character set as name. | |
toDate | Body | string (date) | Expiry date, YYYY-MM-DD: the last day the entry is valid. It stays valid through the end of that day. Omit for a permanent entry. | |
tags | Body | object[] | Optional tags for filtering in the admin UI. | |
tags[].value | string | Tag text. 2–30 characters. Allowed: a-z A-Z 0-9 å ä ö Å Ä Ö ( ) & - , . / " + : and space. |
Request example
curl -X POST "$API_HOST/v1/org/$ORG_ID/contexts/sign-in/$CTX_ID/modules/whitelistings" \ -H "x-auth-token: $NETGRAPH_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "mac": "AA:BB:CC:DD:EE:FF", "name": "Reception printer", "description": "Lobby floor, left side", "toDate": "2026-12-31", "tags": [{ "value": "printer" }] }'Response
Section titled “Response”Response example
HTTP/1.1 200 OK