> For the complete documentation index, see [llms.txt](https://docs.coherent.global/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coherent.global/spark-apis/transforms-api.md).

# Transforms APIs

{% hint style="info" %}
This feature is only enabled on certain environments and tenants. [Contact support](/support/contact-support.md) for more information about this feature.
{% endhint %}

The transforms API allows Spark services to be used as a "drop-in" replacement to legacy calculation systems and services. This works by supporting requests and responses structures that do not conform to the payload structure of the standard Spark APIs.

<figure><img src="https://2714190325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fc7fek1ZgAUH5MA3m5pH8%2Fuploads%2F3qNg3Qk37r2eUf0FkUFg%2FTransform%20concept.png?alt=media&amp;token=43fbfe14-4de0-4489-a263-6848671cbed9" alt="Request to transform endpoint, fetch the transform document, run transform code, call execute, return Spark response."><figcaption></figcaption></figure>

Transforms are not inherently tied to a particular Spark service and can have a many-to-many relationship. This enables:

* Reuse of one transform against multiple services.
* One service can have different transforms applied to it, for example, a single service is consumed by multiple calling systems.

There are two transforms types currently available:

* [JSONtransforms](/spark-apis/transforms-api/jsontransforms.md) convert JSON content to requests and responses that are compatible with the Spark [Execute API](/spark-apis/execute-api.md).
* [Nodejs22](/spark-apis/transforms-api/nodejs22.md) customize the request and response with access to [Node.js v22](https://nodejs.org/docs/latest-v22.x/api/) to program actions for each call to the transform endpoint in [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript).
