SMAO API Documentation

Changelog

Notable changes to the Distributor API.

2.0.0 — Organization-centric contract for new distributors

v2 is a new contract on a new base path (/api/distributor/v2), rebuilt around organizations. It is not a forced upgrade: v1 keeps running unchanged at /api/distributor/v1 — see Distributor API v1 — and existing v1 integrations need no changes. The lists below describe the v1 → v2 contract delta.

Different from v1:

  • The partner resource is gone. Organizations are the sole public entity, distinguished by type: "msp" | "customer". Customers link to their MSP via parentOrganizationId.
  • Customer creation now requires an already available externalLicenseId owned by the parent MSP; MSP creation requires the purchased license inline.
  • License lifecycle is explicit (available, assigned, disabled). Disabling an assigned license blocks the organization; reassigning or deleting a customer releases the previous license; MSPs can only be deleted after all their customers (409 ORGANIZATION_HAS_CHILDREN).

Added:

Notes:

  • Integration remains polling-only; there are still no webhooks.
  • The version-explicit v2 documentation path is /docs/distributor. The v2 machine-readable spec is served at /api/distributor-docs/v2/openapi.yaml; the bare documentation and machine-readable spec paths remain on v1 for compatibility with saved links.

On this page