Customer API / Get started

Quickstart with Postman

Import isolated test credentials, discover synthetic data, and exercise aggregate limits without customer data or quota.

In this article

Before you begin

You need permission to issue Customer API credentials for your selected customer. Ask your customer administrator for access if needed. Install Postman on Linux, Windows, or macOS.

For your production integration, select your customer in the Wavac Dashboard and open Settings > Customer API. The test package is separate from that integration and does not grant access to its data.

Test packages contain a Bearer token for /api/customer/test/v1 and a private certificate key. The test token expires after exactly 24 hours; production access tokens expire after 10 minutes. Do not commit or share either one.

Import the package

  1. In the Dashboard, open Settings > Customer API and select Generate Postman test package. The ZIP downloads without leaving settings.
  2. Download and extract the ZIP. The included README identifies the standard and mTLS test URLs.
  3. Import all three JSON files from the postman directory: one collection and the Bearer and mTLS environments. Each environment already contains the same token as jwt/bearer-token.txt in the secret variable customerApiTestJwt.
  4. Select IOTSnap Customer API Test - Bearer for standard TLS, or IOTSnap Customer API Test - mTLS to test certificate proof. For mTLS, configure a Postman client certificate for the hostname in the package README using mtls/client-fullchain.crt.pem and mtls/client.key.pem without a passphrase.
  5. Send Discover static hierarchy before sending a data request.

Use synthetic identifiers returned by test discovery. Test credentials cannot authorize production routes and test requests do not consume customer quota. The test token is not your signed-in user's token and does not inherit the selected customer's permissions. Changing an environment's URL or identifiers does not grant production access. Protect the whole ZIP and exported environments; marking a Postman variable as secret does not make the package safe to share.

The standard allowance is 10 package generation requests per user per UTC day, shared across customer selections. It resets at 00:00 UTC. A generation request that fails after it is accepted still counts, so do not repeatedly retry an uncertain download. If the limit is reached, wait for the retry delay shown in settings. This allowance is separate from customer data-request limits.

Discover the test data

Send Discover static hierarchy first. Inspect its successful response and compare it with the supplied siteId environment value, test-site. The collection checks HTTP status; it does not automatically populate discovery identifiers or prove your production permissions.

The static hierarchy contains test-site, test-line, test-machine, and one Boolean Friendly Tag.

Send an aggregate request

Open Read static data and select Send. A successful response has an aggregation object, one or more logical series, and time-varying values in each series' points array.

Edit the imported environment when changing reusable values such as from, to. If you add aggregationIntervalSeconds or pageSize, add the corresponding query parameter to the request as well; an unused environment variable does not change a request. Keep reusable query values in {{variableName}} form.

Verify the result

Confirm that the response status is 200, X-Test-Quota-Mode is non-billable, an aggregation object is present, and every returned tagGuid came from test discovery. A null nextCursor means the current traversal is complete.

Troubleshoot an unresolved Postman variable

If Postman displays {{siteId}} in the outgoing URL, select one of the imported IOTSnap Customer API Test environments. Verify that the variable has a value.

Remove a same-named global or collection variable if it overrides the test environment value. Keep the Bearer token in a secret environment variable.

Next steps

For production data, enroll a separate integration and use its approved authentication mode. Do not replace the test URL and assume the test token now belongs to that integration. Delete expired test packages and ask the issuing operator to revoke test credentials when testing is finished.

Read integrate with the Customer API for shared request formats, paging, and limits. Use the aggregate data API reference for complete parameter and response semantics.