> 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/service-apis/check-compilation-status.md).

# Check compilation status

Get the [Neuron](/build-spark-services/neuron.md) "Excel-to-code" compilation status of the Excel upload. This can be run after [Upload Excel file to Spark](/spark-apis/service-apis/upload-spark-service.md).

Returns: `progress` of the compilation job. `100` is complete.

{% code overflow="wrap" %}

```shellscript
GET /{tenant}/api/v3/folders/{folder}/services/{service}/getcompilationprogess/{jobId}
```

{% endcode %}

### Authorization

* `Bearer {token}` accessible from [Authorization - Bearer token](/spark-apis/authorization-bearer-token.md) or systematically via [Client credentials](/identity-and-access-management/client-credentials.md).
  * The request headers should include a key for `Authorization` with the value `Bearer {token}`.
* API key created from [Authorization - API keys](/spark-apis/authorization-api-keys.md). It must contain [Manage users](/tenant-administration/manage-users.md#user-groups) that are also assigned to [Permissions - Features permissions](/spark-apis/authorization-api-keys/permissions-features-permissions.md) `Spark.ServiceCompilationProgress.json` or `Spark.AllEncompassingProxy.json`.
  * The request headers should include the keys `x-synthetic-key` and `x-tenant-name` with the API key and tenant name respectively.

### Path parameters

| Key          | Value                                                                                                                                                                                 |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tenant` \*  | Tenant is part of your [Login and logout](/navigation/login-and-logout.md#log-in-to-spark) URL and also available in the [Navigation menu](/navigation/navigation-menu.md#user-menu). |
| `folder` \*  | Target folder name. This should be the same as in [Upload Excel file to Spark](/spark-apis/service-apis/upload-spark-service.md).                                                     |
| `service` \* | Target folder name. This should be the same as in [Upload Excel file to Spark](/spark-apis/service-apis/upload-spark-service.md).                                                     |
| `jobId` \*   | `nodegen_compilation_jobid` from [Upload Excel file to Spark](/spark-apis/service-apis/upload-spark-service.md).                                                                      |

### Sample response

`HTTP 200 OK` `Content-Type: application/json`

If the `progress` is `100`, the compilation has completed.

```json
{
    "status": "Success",
    "response_data": {
        "status": "Success",
        "last_error_message": "null",
        "progress": 100
    },
    "response_meta": {
        "system": "SPARK",
        "request_timestamp": "2023-05-19T01:39:42.074Z"
    },
    "error": null
}
```
