Release 23 is Now Live. Smarter SDKs, faster runtimes, MTLS support, and expanded OOB functions.  Read the Release Notes  Get Started with PolyAPI

PolyAPI  >  Developers  >  Release Notes

PolyAPI – Release 23

Release Notes 

June 3, 2025
Days since last major release: 28 days

Node Client

Improvements

  • Open sourced the TS SDK generation code to allow for easy evaluation and inspection and to line up with Python/Java. 
  • Adding ability to directly execute a PolyAPI API function–bypassing the gateway–and enabling the use of MTLS for these requests.
  • Updated OpenAPI specification translation service to clean up invalid or poorly formatted parameter names with dashes in them. For OAS based training. 
  • Failed schemas now return clear validation errors when containing invalid exclusiveMinimum definitions in nested structures. For OAS based training.
  • Improved OpenAPI specification translation to follow $refs for parameters, request bodies, and responses.

Bug Fixes

  • Fixed a bug where the SDK for poly.OOB.polyapi.v2.apiFunctions.publicVisibility.list was incorrect due to not handling the results array in the response data.
  • Fixed bug where object type attributes with non-alphanumeric names (ex. ‘@nexLink’) were not being generated correctly–causing type errors.

Python Client

Improvements

  • Added ability to directly execute a PolyAPI API function–bypassing the gateway–and enabling the use of MTLS for these requests.
  • Adding ability to return custom response headers using the polyCustom[‘responseHeaders’] dict.
  • Adding support for calling asynchronous server functions and generating the correct return type.
  • Updated to support a generateContexts argument which speeds up wakeup times for Server Functions by generating a more limited SDK. 

Bug Fixes

  • Fixed bug where argument descriptions with newlines were causing issues when generating the SDK.
  • Fixed bug where arguments with a value of ‘None’ were not being submitted when executing a function.
  • Added a fallback when generating SDK for server functions which lack a return type.
  • Fixed bug where execution_id in polyCustom dict could be overwritten.
  • Fixed bug where response types of API functions were generated as Any instead of their more specific type.

Java Client

Bug Fixes

  • Fixed SDK to safely parse function arguments.
  • Fixed SDK to safely handle functions and schemas with duplicate names.
  • Fixed bug that sometimes prevented users from deploying new server functions.
  • Fixed bug where redeploying a Java function would sometimes fail.
  • Fixed bug where original Java code of Server and Client functions was not shown in Canopy.

Gateway and Function Runtime

Improvements

  • Improved server function startup time by removing type generation from the server function runtime.
  • Improved gateway to more safely handle jobs whose target functions are deleted.

Bug Fixes

  • Fixed the way logs are parsed for Python functions so no logs are missed.
  • Fixed bug where API functions returning XML payloads were returning truncated XML.
  • Fixed a bug where ‘request completed’ system log statement was showing before the last user defined log statement.
  • Fixed an issue where removeInNotPresentOnExecute arguments were not set properly when the value was undefined. 

Canopy Service and Management APIs

Improvements

  • Refactored Variables to support secrecy: None (visible to everyone), Obscured (not visible but can be obtained at runtime), and Secret (cannot be viewed and can only injected at runtime). 
  • Updated server and client function collections in the UI to allow for searching by context and name, as well as filtering by visibility
  • Added ability to reference PolyAPI Schemas in Webhooks.
  • Added support for public OOB client functions in the PolyAPI management UI.
  • Adding ability to replicate Client Functions, Server Functions, and Snippets using the PolyAPI UI or via the API directly.
  • Updated webhook POST to strictly create and return an error if a webhook with the same name and context already exists.
  • Added error response “A WebhookHandle with name and context is already registered.” when creating a webhook with a duplicate name and context.
  • Adjusted triggers to only allow creating a single trigger per webhook to avoid race conditions and accidental miss configurations. 
  • Added a check to ensure that a client function and server function with the same context name are not deployed. 
  • Implemented new UX designs for form field errors in the Poly Management UI
  • Adding ability to infer a canopy collections’s properties using the return type of the collection’s “get” function when using `”propertyMode“: “auto“` in the collection configuration.
  • Enabled scrolling of server function selection modal within trigger and job creation experiences. 
  • Adding ability to designate any collection property as the ‘idProperty‘ to enable Canopy to use that property as the ID in the url and in requests.

Bug Fixes

  • Removed a few attributes from the client functions get API and functions which only apply to server functions. 
  • Fixed a bug with generation of types for functions with destructured arguments in both TS and Python.

VS Code Extension

Improvements

  • Added support for a refresh button to regenerate the library using the Tree View. 

Bug Fixes

  •  Fixed extension to support VSCode-managed virtual environments.

Docs, Public Functions and Content

OOB Functions

  • OOB Functions:
    • poly.OOB.zoom.v2.phone.users.list() – lists Zoom Phone users and their details. 
    • poly.OOB.zoom.v2.phone.users.update() – updates settings for a specific Zoom Phone user. 
    • poly.OOB.zoom.v2.users.update() – updates general Zoom user settings. 
    • poly.OOB.zoom.v2.phone.users.callHistory.delete() – deletes call history entries for a Zoom Phone user. 
    • poly.OOB.zoom.v2.phone.users.callHistory.list() – lists call history records for a Zoom Phone user. 
    • Deprecated: poly.OOB.zoom.phone.callLogs.delete() – previously used to delete a user’s call log entry (now replaced by poly.OOB.zoom.v2.phone.users.callHistory.delete()). 
    • Deprecated: poly.OOB.zoom.phone.callLogs.list() – previously used to list a user’s call history (now replaced by poly.OOB.zoom.v2.phone.users.callHistory.list()).
    • poly.OOB.ohip.housekeeping.roomStatus.update() – updates the housekeeping room status in Opera Cloud.
  • All OOB functions now include state and owner metadata for better visibility and governance.
  • Added the full OpenAI OpenAPI spec as out-of-the-box functions, including support for /chat/completions, /completions, /models, /files, and other key endpoints.
  • Added the full Stripe OpenAPI spec, making all documented endpoints available as out-of-the-box functions, including Customers, Charges, Payment Intents, Webhooks, and more.

Helpful Links

  • Added helpful links for our github actions in Poly Management UI and VS Code extension.
  • Updated helpful link for Community from Discord to Slack