# Getting started

Welcome to the Spark API documentation! We have documented the important APIs used to call and manage Spark services!

## Base URL

```shellscript
https://excel.{environment}.coherent.global
```

The environment is part of your [Login and logout](/navigation/login-and-logout.md#log-in-to-spark) URL.

## Spark object model

|                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Folder              | <p>Folder can contain documents, services, and transform documents. For legacy <code>v1</code> APIs, this may be referred to as a "product".<br><br>Actions to manage folders:</p><ul><li><a data-mention href="/pages/EXaGUdyOJaxczBSOmyRW">/pages/EXaGUdyOJaxczBSOmyRW</a></li></ul>                                                                                                                                                                                                                                                                                                                  |
| Documents           | Documents can be uploaded into a Folder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Service             | <p>Services are created in a folder. A service is the representation of the Excel converted to code and into an API. For legacy <code>v1</code> APIs, this may be referred to as an "engine".<br><br>Actions to manage services:</p><ul><li><a data-mention href="/pages/bIDR3Sj61Sx3sbZidx0G">/pages/bIDR3Sj61Sx3sbZidx0G</a></li><li><a data-mention href="/pages/wVCMw6Dby1a1fkoG9axN">/pages/wVCMw6Dby1a1fkoG9axN</a></li></ul>                                                                                                                                                                     |
| Service versions    | <p>As changes are made to a single service, new service versions are created.<br><br>When "running" on a service, a service version needs to be resolved or targeted. <br><br>Actions to run service versions:</p><ul><li><a data-mention href="/pages/775ZzT4TU4t9YQsbsfgC">/pages/775ZzT4TU4t9YQsbsfgC</a></li><li><a data-mention href="/pages/i1Gw4hnm5WLCg1qp8zNM">/pages/i1Gw4hnm5WLCg1qp8zNM</a></li><li><a data-mention href="/pages/A3xlmCQ1JoT05lvWSehw">/pages/A3xlmCQ1JoT05lvWSehw</a></li><li><a data-mention href="/pages/Jf6pH4qHfcAIIroUmr7i">/pages/Jf6pH4qHfcAIIroUmr7i</a></li></ul> |
| WebAssembly module  | <p>Each service version includes code compiled from Excel into C++, then into a <a href="https://webassembly.org/">WebAssembly module</a> ZIP bundle by <a data-mention href="/pages/qc2ynJ5gnthNAqVrFQRg">/pages/qc2ynJ5gnthNAqVrFQRg</a>. These bundles can be downloaded for offline execution.<br><br>Actions on Wasm ZIP bundles:</p><ul><li><a data-mention href="/pages/WPvKyDPWglAVjUhI4QJl">/pages/WPvKyDPWglAVjUhI4QJl</a></li></ul>                                                                                                                                                          |
| API calls           | <p>When an API call is made to a service version, the request and response data is saved into the <a data-mention href="/pages/-Mbp1TWI7E1KNb9JlN0_">/pages/-Mbp1TWI7E1KNb9JlN0\_</a>.<br><br>Actions to retrieve from the <a data-mention href="/pages/-Mbp1TWI7E1KNb9JlN0_">/pages/-Mbp1TWI7E1KNb9JlN0\_</a>:</p><ul><li><a data-mention href="/pages/kaU8ldzyxpa1NlEZn0c4">/pages/kaU8ldzyxpa1NlEZn0c4</a></li></ul>                                                                                                                                                                                 |
| Transform documents | <p>Transform documents contain the instructions on how to translate requests and responses to be compatible with the Spark <a data-mention href="/pages/i1Gw4hnm5WLCg1qp8zNM">/pages/i1Gw4hnm5WLCg1qp8zNM</a>.</p><p></p><p>Actions on Transform documents:</p><ul><li><a data-mention href="/pages/xtUUfjnOVANkpiQGyo8I">/pages/xtUUfjnOVANkpiQGyo8I</a></li></ul>                                                                                                                                                                                                                                     |

## Authorization

Depending on the API, there are different authentication options available:

<table data-view="cards"><thead><tr><th></th><th data-type="content-ref"></th></tr></thead><tbody><tr><td>API keys</td><td><a href="/pages/PhwYdaswds2Px4st5cWt">/pages/PhwYdaswds2Px4st5cWt</a></td></tr><tr><td>Bearer token</td><td><a href="/pages/qmrzVo5AUlrXG3f0Req5">/pages/qmrzVo5AUlrXG3f0Req5</a></td></tr></tbody></table>

## Compression

The following request headers are supported for compression of requests and responses.

| Key                | Value                                                                                                                                       |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accept-Encoding`  | When set to `gzip` or `br`, the API response is compressed. If using [Postman](https://www.postman.com/), this is automatically added.      |
| `Content-Encoding` | When set to `gzip` or `br` or `deflate`, apply the associated compression to the request body and submit the request body in binary format. |

## OpenAPI Specification

We are working to document our APIs using the [OpenAPI Specification](https://swagger.io/specification/).

{% content-ref url="/pages/qMmEEb8vRC9bxDYOYvB8" %}
[Spark OpenAPI Specification](/spark-apis/spark-openapi-specification.md)
{% endcontent-ref %}

## Documentation scope

APIs that are not documented here may be subject to change without notice.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.coherent.global/spark-apis/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
