Skip to content
SoundSyncAudio software platform

Guide

Test Connection

Verify that productId, appId, pluginKey, and pluginSecret belong together before activation testing.

Generated native clients use public identity

HISEScript/custom HTTP use the standard product key/secret path. Current native HISE and JUCE packages identify the generated app/product through the supported hise-native or juce-native public-client contract and keep pluginSecret out of public configuration. Product identification is not customer ownership proof; do not substitute a developer token.

SoundSync

Endpoint contract

This endpoint uses JSON body credential fields. It does not use product credential headers.

POST /api/plugin-connections/verify

Verify the standard product credential tuple or supported native public-client app/product identity before customer activation testing.

Auth
JSON body credential check. Headers are not used for this endpoint.
Scope
Product, app, credential, environment, and machine scoped.
Request fields
  • productId and appId
  • pluginKey and pluginSecret for standard custom HTTP/HISEScript credential verification
  • publicClient: hise-native or juce-native for the generated native public-client path
  • pluginVersion, environment, and metadata optional
Returns
ok/connected, productId, credentialId, pluginVersion, environment, lastSeenAt.
Side effects
Updates credential last-used state, upserts plugin connection status, and records a plugin connection event.
Notes
This endpoint reads its JSON body rather than substituting licensing headers. The native public-client path does not require a distributed pluginSecret. Connectivity/product identification is not customer entitlement or audio unlock.

SoundSync

Copyable examples

Use canonical field names in new clients.

cURL
curl -sS -X POST "$SOUNDSYNC_API_BASE/api/plugin-connections/verify" \
  -H "Content-Type: application/json" \
  -d '{
    "productId": "prod_demo_piano",
    "appId": "ss_prod_demoapp123",
    "pluginKey": "ss_pk_demokey123",
    "pluginSecret": "ss_ps_demosecret123",
    "pluginVersion": "1.0.0",
    "environment": "test"
  }'
JUCE SoundSyncApiClient.cpp
SoundSync::CredentialConfig config;
config.apiBaseUrl = "https://api.soundsync.example";
config.productId = "prod_demo_piano";
config.appId = "ss_prod_demoapp123";
config.pluginKey = "ss_pk_demokey123";
config.pluginSecret = "ss_ps_demosecret123";
config.environment = "test";

SoundSync::ApiClient client(config);
client.verifyConnection("1.0.0", [](SoundSync::ApiResult result)
{
    // Runs on the JUCE message thread in the example client.
    // Do not unlock audio here; Test Connection only verifies product credentials.
    DBG(result.ok ? "SoundSync Test Connection passed" : result.code);
});

SoundSync

Stable failure codes

A failed Test Connection means fix credentials or product context before testing activation.

CodeHTTPMeaningClient action
MISSING_CREDENTIALS400Missing productId, appId, pluginKey, or pluginSecret.Fill all four body fields.
INVALID_PRODUCT400Product identifier is invalid.Use Product ID from the product setup page.
INVALID_APP_ID401App ID was not found.Use ss_prod_* from current product credential.
INVALID_PLUGIN_KEY401Plugin key mismatch.Use the current ss_pk_* value.
INVALID_PLUGIN_SECRET401Plugin secret mismatch.Use the current ss_ps_* value.
REVOKED_CREDENTIAL403Credential has been revoked.Generate/rotate credential and regenerate package.
INACTIVE_CREDENTIAL403Credential is inactive.Enable or replace credential.
PRODUCT_MISMATCH403Credential belongs to another product.Do not mix product config files.
PRODUCT_NOT_FOUND404Product record was not found.Check product setup.

SoundSync

Do not confuse Test Connection with

These calls answer different questions.

CallWhat it verifies
/api/license/pingGeneral licensing service reachability only.
/api/plugin-connections/verifyProduct credential relationship and connection status.
/api/license/v1/activateCustomer/product/machine activation.
/api/license/v1/validateCached activation is still allowed.
/api/license/v1/customer-login/activateCustomer login entitlement plus machine activation.