Skip to content

PhyStack API (2026-03)

Every consumer-affecting change to the PhyStack API version 2026-03, newest first. Entries are generated automatically from the OpenAPI specification when a change reaches production.

The 2026-03 API is additive-only: existing endpoints, fields, and types are never removed or changed within this version. Everything listed here is backward-compatible — new endpoints, new optional parameters, new response fields, or documentation improvements.

  • added the new optional query request parameter includeChildren
  • added the required property items to the response with the 200 status
  • added the required property total to the response with the 200 status
  • endpoint added

GET /tenants/{tenantId}/consumption/summary

Section titled “GET /tenants/{tenantId}/consumption/summary”
  • endpoint added
  • endpoint added
  • added the new optional query request parameter filter[type]

GET /installations/{installationId}/devices/{deviceId}/settings

Section titled “GET /installations/{installationId}/devices/{deviceId}/settings”
  • the response property data/version became not nullable for the status 200
  • the response property data/version became required for the status 200

PUT /installations/{installationId}/devices/{deviceId}/settings

Section titled “PUT /installations/{installationId}/devices/{deviceId}/settings”
  • the response property data/version became not nullable for the status 200
  • the response property data/version became required for the status 200

GET /installations/{installationId}/spaces/{spaceId}/settings

Section titled “GET /installations/{installationId}/spaces/{spaceId}/settings”
  • the response property data/version became not nullable for the status 200
  • the response property data/version became required for the status 200

PUT /installations/{installationId}/spaces/{spaceId}/settings

Section titled “PUT /installations/{installationId}/spaces/{spaceId}/settings”
  • the response property data/version became not nullable for the status 200
  • the response property data/version became required for the status 200
  • added the new optional query request parameter search
  • added the new optional query request parameter filter[country]
  • added the new optional query request parameter filter[parentTenantId]
  • added the optional property subscription/oneOf[#/components/schemas/SubscriptionDetails]/card to the response with the 200 status
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • :warning: removed the required property data/items/settings from the response with the 200 status
  • :warning: removed the required property data/items/telemetry from the response with the 200 status
  • added the optional property data/items/hardwareStatus to the response with the 200 status
  • removed the optional property data/items/createdAt from the response with the 200 status
  • removed the optional property data/items/hardwareId from the response with the 200 status
  • removed the optional property data/items/tenantId from the response with the 200 status
  • removed the optional property data/items/updatedAt from the response with the 200 status
  • the response property data/items/deviceId became not nullable for the status 200
  • the response property data/items/name became not nullable for the status 200
  • the response property data/items/status became not nullable for the status 200
  • the response property data/items/deviceId became required for the status 200
  • the response property data/items/name became required for the status 200
  • the response property data/items/status became required for the status 200
  • added the required property data/items/deviceDisplayName to the response with the 200 status
  • endpoint added
  • the response property data/createdAt became not nullable for the status 200
  • the response property data/deviceId became not nullable for the status 200
  • the response property data/hardwareId became not nullable for the status 200
  • the response property data/name became not nullable for the status 200
  • the response property data/status became not nullable for the status 200
  • the response property data/tenantId became not nullable for the status 200
  • the response property data/updatedAt became not nullable for the status 200
  • the response property data/createdAt became required for the status 200
  • the response property data/deviceId became required for the status 200
  • the response property data/hardwareId became required for the status 200
  • the response property data/name became required for the status 200
  • the response property data/status became required for the status 200
  • the response property data/tenantId became required for the status 200
  • the response property data/updatedAt became required for the status 200
  • endpoint added
  • the response property data/createdAt became not nullable for the status 200
  • the response property data/deviceId became not nullable for the status 200
  • the response property data/hardwareId became not nullable for the status 200
  • the response property data/name became not nullable for the status 200
  • the response property data/status became not nullable for the status 200
  • the response property data/tenantId became not nullable for the status 200
  • the response property data/updatedAt became not nullable for the status 200
  • the response property data/createdAt became required for the status 200
  • the response property data/deviceId became required for the status 200
  • the response property data/hardwareId became required for the status 200
  • the response property data/name became required for the status 200
  • the response property data/status became required for the status 200
  • the response property data/tenantId became required for the status 200
  • the response property data/updatedAt became required for the status 200
  • endpoint added
  • endpoint added
  • endpoint added

POST /apps/{appId}/builds/{buildId}/publish

Section titled “POST /apps/{appId}/builds/{buildId}/publish”
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added

GET /descriptors/{name}/versions/{version}

Section titled “GET /descriptors/{name}/versions/{version}”
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added

DELETE /installations/{id}/devices/{deviceId}

Section titled “DELETE /installations/{id}/devices/{deviceId}”
  • endpoint added

GET /installations/{id}/settings/migration

Section titled “GET /installations/{id}/settings/migration”
  • endpoint added

DELETE /installations/{installationId}/devices/{deviceId}/settings

Section titled “DELETE /installations/{installationId}/devices/{deviceId}/settings”
  • endpoint added

GET /installations/{installationId}/devices/{deviceId}/settings

Section titled “GET /installations/{installationId}/devices/{deviceId}/settings”
  • endpoint added

PUT /installations/{installationId}/devices/{deviceId}/settings

Section titled “PUT /installations/{installationId}/devices/{deviceId}/settings”
  • endpoint added

DELETE /installations/{installationId}/spaces/{spaceId}/settings

Section titled “DELETE /installations/{installationId}/spaces/{spaceId}/settings”
  • endpoint added

GET /installations/{installationId}/spaces/{spaceId}/settings

Section titled “GET /installations/{installationId}/spaces/{spaceId}/settings”
  • endpoint added

PUT /installations/{installationId}/spaces/{spaceId}/settings

Section titled “PUT /installations/{installationId}/spaces/{spaceId}/settings”
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • added the new optional query request parameter filter[childrenType]
  • added the new optional query request parameter include
  • added the optional property data/items/billingAddress to the response with the 200 status
  • added the optional property data/items/billingContact to the response with the 200 status
  • added the optional property data/items/children to the response with the 200 status
  • added the new optional request property billingAddress
  • added the new optional request property billingContact
  • added the optional property data/billingAddress to the response with the 201 status
  • added the optional property data/billingContact to the response with the 201 status
  • added the optional property data/children to the response with the 201 status
  • endpoint added
  • endpoint added
  • added the optional property data/billingAddress to the response with the 200 status
  • added the optional property data/billingContact to the response with the 200 status
  • added the optional property data/children to the response with the 200 status
  • added the optional property data/billingAddress to the response with the 200 status
  • added the optional property data/billingContact to the response with the 200 status
  • added the optional property data/children to the response with the 200 status
  • added the required property data/items/tenantName to the response with the 200 status
  • :warning: removed the request property parentTenantId
  • added the required property data/tenantName to the response with the 201 status
  • added the required property data/tenantName to the response with the 200 status
  • added the new optional request property billingAddress/oneOf[#/components/schemas/BillingAddress]/notes
  • added the required property data/tenantName to the response with the 200 status
  • endpoint added

GET /tenants/{parentTenantId}/available-child-plans

Section titled “GET /tenants/{parentTenantId}/available-child-plans”
  • endpoint added

POST /tenants/{parentTenantId}/managed-tenants

Section titled “POST /tenants/{parentTenantId}/managed-tenants”
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added
  • endpoint added