DocsCatalog, orders and licenses

Catalog, orders and licenses

GET /catalog

No body or query parameters. Requires Read only or Manage. Returns data[] with product (SHM/SDM/SBM), account_type (single_account/unlimited_accounts), daily_unit_price (decimal string), minimum_billable_licenses and currency, plus terms_version. Only currently enabled Enterprise options appear.

curl --fail-with-body -H "Authorization: Bearer $SYNCONIX_API_KEY" -H "Accept: application/json" "https://synconix.com/api/enterprise/v1/catalog"

GET /licenses/{product}/{status}/{perPage}/{page}

Use clean path segments in this order: product / status / results per page / page number. product is shm, sdm, sbm or all. status is pending, pending_key, active, suspended, terminated or all. perPage is an integer 1–100 (default 25); page is an integer ≥1 (default 1). Trailing segments can be omitted: /licenses/shm means all SHM statuses, 25 results, page 1. /licenses returns the default list across all your Enterprise licenses.

curl --fail-with-body -H "Authorization: Bearer $SYNCONIX_API_KEY" -H "Accept: application/json" "https://synconix.com/api/enterprise/v1/licenses/shm/active/25/1"
curl --fail-with-body -H "Authorization: Bearer $SYNCONIX_API_KEY" -H "Accept: application/json" "https://synconix.com/api/enterprise/v1/licenses/all/all/25/1"

Returns data[], current_page, last_page, per_page, total and pagination links. next_page_url, prev_page_url and links[] also use clean path segments; follow these links without constructing a query string. Path values are authoritative and cannot be overridden by query parameters.

Each license contains id (full UUID), product, account_type, status, suspension_reason, order_id, registered_ip, observed_ip, ip_change_pending, created_at and activated_at. Date/time values are ISO 8601 or null. No runtime credentials are included.

GET /licenses/{license}

Replace {license} with the full UUID returned by the API. Returns {data: license}. Unknown, prepaid and other-customer licenses return 404.

curl --fail-with-body -H "Authorization: Bearer $SYNCONIX_API_KEY" -H "Accept: application/json" "https://synconix.com/api/enterprise/v1/licenses/$LICENSE_ID"

POST /licenses

Requires Manage. Creates a normal Enterprise postpaid order and its licenses; billing is not bypassed.

ParameterRequired value
productSHM, SDM or SBM, enabled in catalog
account_typesingle_account or unlimited_accounts, enabled in catalog
quantityInteger 1–100
accept_termstrue, only after accepting the current terms
terms_versionCurrent version returned by GET /catalog
request_immediate_performancetrue, explicit request to begin provision before the withdrawal period ends
acknowledge_withdrawal_effecttrue, after reviewing the applicable withdrawal consequences

Review Terms of Service before enabling automated purchases. Never hard-code acceptance on behalf of a customer who has not authorized it. customer_id, price_per_unit, license_package_id and is_free_service cannot be supplied. Prices and ownership are server-controlled.

The Idempotency-Key header is mandatory: 16–100 letters, digits, hyphens or underscores. Generate one stable unique value for each intended order and reuse it unchanged for every retry.

curl --fail-with-body -X POST "https://synconix.com/api/enterprise/v1/licenses" \
  -H "Authorization: Bearer $SYNCONIX_API_KEY" -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $ORDER_REQUEST_ID" \
  --data '{"product":"SHM","account_type":"unlimited_accounts","quantity":2,"accept_terms":true,"terms_version":"REPLACE_WITH_CATALOG_TERMS_VERSION","request_immediate_performance":true,"acknowledge_withdrawal_effect":true}'

201 for a new successful request; 200 for an identical replay. Response: order_id, order_status and data[] containing every generated license, not only the first item. Pending fulfillment can return an empty data array; preserve the order reference and check the operation later. A pending-license quota also applies (normally 100); activate existing pending licenses before ordering more.

GET /operations/{idempotencyKey}

Retrieve the current order and generated licenses using the same Idempotency-Key from creation. Requires Read only or Manage on the same customer account.

curl --fail-with-body -H "Authorization: Bearer $SYNCONIX_API_KEY" -H "Accept: application/json" "https://synconix.com/api/enterprise/v1/operations/$ORDER_REQUEST_ID"

Reusing a key with different parameters returns 409. A processing/uncertain operation also returns 409; retry lookup with backoff and contact support if it persists. Do not generate a new key to work around a timeout or 409: the original order may already exist. Idempotency records are account-scoped, so key rotation does not lose order recovery.

Theme color