Service APIs
APIs for managing Spark services.
Returns nodegen_compilation_jobid, original_file_documentid, and engine_file_documentid which are needed to Publish service.
If using an API key, the API key group must contain user groups that are also assigned to Spark.ServiceUpload.json or Spark.AllEncompassingProxy.json.
Bearer token can be accessed from the user menu.
Tenant is part of your login URL and also available in the user menu.
mytenantnameFolder associated with the API call.
myfoldernameService associated with the API call.
myservicenameService file to be uploaded.
@/path/to/fileOK
POST /{tenant}/api/v3/folders/{folder}/services/{service}/upload HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 177
{
"serviceFile": "@path/to/file",
"engineUploadRequestEntity": {
"request_data": {
"version_difference": "minor",
"effective_start_date": "2000-01-01",
"effective_end_date": "2100-01-01"
}
}
}OK
{
"status": "Success",
"response_data": {
"lines_of_code": 11,
"hours_saved": 0.02107043788185858,
"nodegen_compilation_jobid": "19bd64d6-f567-0bd4-c73f-190ed4bc49c3",
"original_file_documentid": "265ddaee-89b9-42ff-96af-3cf08ceaf344",
"engine_file_documentid": "f15269d5-0104-4269-8c46-ba5996b5b1c4",
"hash_signature_chain": false,
"warnings": [],
"infos": [],
"current_statistics": null,
"no_of_sheets": 1,
"no_of_inputs": 2,
"no_of_outputs": 1,
"no_of_formulas": 1,
"no_of_cellswithdata": 15
},
"response_meta": {
"service_id": null,
"version_id": "b4555085-1535-4058-8335-212216c89044",
"version": "0.1.0",
"process_time": 1138,
"call_id": null,
"compiler_type": "Neuron",
"compiler_version": null,
"source_hash": null,
"engine_id": null,
"correlation_id": null,
"parameterset_version_id": null,
"system": "SPARK",
"request_timestamp": "2026-01-19T12:49:16.092Z"
},
"error": null
}Get the Neuron "Excel-to-code" compilation status of the Excel upload. This can be run after Upload Excel file to Spark.
If using an API key, the API key group must contain user groups that are also assigned to Spark.ServiceCompilationProgress.json or Spark.AllEncompassingProxy.json.
Bearer token can be accessed from the user menu.
Tenant is part of your login URL and also available in the user menu.
mytenantnameFolder associated with the API call.
myfoldernameService associated with the API call.
myservicenamejob_id associated from POST job.
b13a5526-60c8-43cc-840f-2c76dca701d9OK
GET /{tenant}/api/v3/folders/{folder}/services/{service}/getcompilationprogess/{jobId} HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"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
}Complete the actions to create a Spark service after Upload Excel file to Spark. Compilation must be completed before publishing, Check compilation status.
If using an API key, the API key group must contain user groups that are also assigned to Spark.ServicePublish.json or Spark.AllEncompassingProxy.json.
Bearer token can be accessed from the user menu.
Tenant is part of your login URL and also available in the user menu.
mytenantnameFolder associated with the API call.
myfoldernameService associated with the API call.
myservicenameOK
POST /{tenant}/api/v3/folders/{folder}/services/{service}/publish HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 443
{
"request_data": {
"draft_service_name": "my service name",
"version_label": "my service label",
"effective_start_date": "2026-01-19T16:05:23.517Z",
"effective_end_date": "2126-01-19T12:12:00.000Z",
"original_file_documentid": "4c4cef82-3f30-45ae-ade8-b43f4ab29779",
"engine_file_documentid": "d84bf685-2ed6-4d95-8fb1-d01770a0e0d8",
"version_difference": "minor",
"releasenote": "my release note",
"description": "my description",
"should_trck_user_action": true
}
}OK
{
"status": "Success",
"response_data": {
"version_id": "7004e077-153f-4561-97ee-eb8124f6eb72"
},
"response_meta": {
"system": "SPARK",
"request_timestamp": "2023-05-18T21:20:42.498Z"
},
"error": null
}Check whether a service exists.
If using an API key, the API key group must contain user groups that are also assigned to Spark.ServiceExists.json or Spark.AllEncompassingProxy.json.
Bearer token can be accessed from the user menu.
Tenant is part of your login URL and also available in the user menu.
mytenantnameFolder associated with the API call.
myfoldernameService associated with the API call.
myservicenameOK
GET /{tenant}/api/v3/folders/{folder}/services/{service}/exists HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"status": "Success",
"response_data": {
"id": "6845025a-3bb2-4dfe-b1dc-c3d6eb7f23e2",
"name": "AplusB",
"is_exists": true,
"version": "0.2.0",
"last_modified_date": "2026-03-26T03:28:47.000Z",
"latest_version_id": "2d67f048-3cde-4801-b11f-cfd7e1702e5a",
"effective_start_date": "2025-01-24T07:32:00Z",
"effective_end_date": "2125-01-24T07:32:00Z",
"tags": "",
"service_status": "active"
},
"response_meta": {
"system": "SPARK",
"request_timestamp": "2026-04-23T05:36:44.788Z"
},
"error": null
}Get details about every service version.
If using an API key, the API key group must contain user groups that are also assigned to Spark.GetVersions.json or Spark.AllEncompassingProxy.json.
Bearer token can be accessed from the user menu.
Folder associated with the API call.
myfoldernameService associated with the API call.
myservicenameOK
GET /api/v1/product/{folder}/engines/getversions/{service} HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": null,
"data": [
{
"id": "76629732-ec95-4ec1-a48b-9455ae1d06c0",
"createdAt": "2024-08-12T05:59:41.267282+00:00",
"engine": "SUMAB",
"revision": "0.5.0",
"effectiveStartDate": "2024-07-22T00:54:00Z",
"effectiveEndDate": "2124-07-22T00:54:00Z",
"isActive": true,
"releaseNote": null,
"childEngines": null,
"versionLabel": null,
"defaultEngineType": "Neuron",
"tags": "",
"product": "Mathematics",
"author": "myuser@mydomain.com",
"originalFileName": "SUMAB.xlsx"
},
{
"id": "863b818a-63b5-4372-ae76-890a8d73e27f",
"createdAt": "2024-08-12T05:58:33.719893+00:00",
"engine": "SUMAB",
"revision": "0.4.0",
"effectiveStartDate": "2024-07-22T00:54:00Z",
"effectiveEndDate": "2124-07-22T00:54:00Z",
"isActive": false,
"releaseNote": null,
"childEngines": null,
"versionLabel": null,
"defaultEngineType": "Neuron",
"tags": "",
"product": "Mathematics",
"author": "myuser@mydomain.com",
"originalFileName": "SUMAB.xlsx"
}
]
}Returns detailed information about the Excel workbook, upload details, Neuron compilation outputs, mapped Xinput, Xoutput, and metadata, etc.
If using an API ke
Bearer token can be accessed from the user menu.
Folder associated with the API call.
myfoldernameService associated with the API call.
myservicenameversion_id of the requested service.
0fb13c76-8b9b-43da-b664-2b11eb11d5c3OK
GET /api/v1/product/{folder}/engines/get/{service}/{versionId} HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": null,
"data": {
"bookSummary": {
"bookServiceName": "AtimesB",
"bookFileName": null,
"bookFileHash": "394ED4529FAF3778D13C2AE6918DB9C2",
"bookFileGUID": "986ef1ea-c0f0-4634-98e5-e58bc418b25e",
"bookRevision": "0.1.0",
"bookReleaseDate": "2026-01-19 16:05:23",
"bookDescription": null,
"bookAuthor": "myname@mydomain.com",
"bookUploadDate": "2026-01-19 16:05:23",
"bookUploaderEmail": "myname@mydomain.com",
"bookVersionReleaseNotes": null,
"docstoreSize": 11825,
"timeExtractModel": 15125,
"totalTime": 794,
"uploadTime": 736,
"versionId": "c53d397f-af04-4b6a-9437-232c7bc30ea4",
"product": "Arithmetic",
"isStarred": false,
"universalFileHash": null,
"versionLabel": null,
"parametersetCompatibilityGroup": "",
"tags": "",
"originalServiceHash": "9D51F4327DD1B475BF7EE67FD6359466E57EE71CA2F48C0AF8522E2D13E6B22A",
"compiledOutputHash": "BC4646F5F42E1CAF54564448556CDA47DB986989A054E4D33115EF57A4EEC61D",
"compilerVersion": "Neuron_v1.25.0",
"compilerVersionServiceUpdate": "MaintainVersion"
},
"bookProperties": [
{
"name": "PublicAPI",
"value": "False"
},
{
"name": "PublicAPI",
"value": "False"
},
{
"name": "AllowToStoreHistory",
"value": "True"
},
{
"name": "Author",
"value": "myname@mydomain.com"
},
{
"name": "BaseUrl",
"value": "https://excel.myenvironment.coherent.global"
},
{
"name": "BatchSizeOverride",
"value": "0"
},
{
"name": "CalcMode",
"value": "AUTO"
},
{
"name": "CompilerVersion",
"value": "Neuron_v1.25.0"
},
{
"name": "CompilerVersionServiceUpdate",
"value": "MaintainVersion"
},
{
"name": "DefaultEngineType",
"value": "Neuron"
},
{
"name": "Description",
"value": null
},
{
"name": "DirectAddressingOutputsEnabled",
"value": "False"
},
{
"name": "FileGUID",
"value": "986ef1ea-c0f0-4634-98e5-e58bc418b25e"
},
{
"name": "ForceInputsWriteBeforeCalcModeChanges",
"value": "True"
},
{
"name": "NoOfInstance",
"value": "0"
},
{
"name": "OriginalFileName",
"value": "AtimesB.xlsx"
},
{
"name": "ProductName",
"value": "Arithmetic"
},
{
"name": "Provenance",
"value": null
},
{
"name": "PublicAPI",
"value": "False"
},
{
"name": "ReleaseNote",
"value": null
},
{
"name": "Revision",
"value": "0.1.0"
},
{
"name": "ServiceGUID",
"value": null
},
{
"name": "ServiceName",
"value": "AtimesB"
},
{
"name": "ServiceStatus",
"value": "active"
},
{
"name": "ServiceVersionGUID",
"value": "c53d397f-af04-4b6a-9437-232c7bc30ea4"
},
{
"name": "Tenant",
"value": "mytenant"
},
{
"name": "UniversalServiceHash",
"value": null
},
{
"name": "UploadDate",
"value": "2026-01-19 16:05:23"
},
{
"name": "UploaderEmail",
"value": "myname@mydomain.com"
},
{
"name": "VersionUpgradeAssert",
"value": "OFF"
},
{
"name": "XConnectorServiceName",
"value": null
},
{
"name": "XConnectorTargetUrl",
"value": null
},
{
"name": "DirectAddressingOutputsEnabled",
"value": "False"
},
{
"name": "VersionLabel",
"value": null
},
{
"name": "ServiceUuid",
"value": "8d438c34-d120-46b5-b82c-07278caefd6e"
},
{
"name": "UpgradeType",
"value": "minor"
},
{
"name": "BatchSizeOverride",
"value": "0"
},
{
"name": "DirectAddressingOutputsEnabled",
"value": "False"
},
{
"name": "VersionLabel",
"value": null
},
{
"name": "ServiceUuid",
"value": "8d438c34-d120-46b5-b82c-07278caefd6e"
},
{
"name": "UpgradeType",
"value": "minor"
},
{
"name": "BatchSizeOverride",
"value": "0"
}
],
"engineHash": "394ED4529FAF3778D13C2AE6918DB9C2",
"engineID": "8d438c34-d120-46b5-b82c-07278caefd6e",
"fetchTimeUTC": "2026-01-19T16:05:24.4846647Z",
"validationErrors": [],
"xlInputs": [
{
"sheetIndex": 1,
"value": 2,
"rawValue": 2,
"dataType": "NUMBER",
"numberFormatType": "NUMBER",
"numberFormat": "",
"rowIndex": 4,
"columnIndex": 3,
"rows": 1,
"columns": 1,
"textColor": null,
"backGroundColor": null,
"xjName": null,
"validation": {
"allow": "wholeNumber",
"data": "between",
"min": 1,
"max": 5,
"options": [],
"ignoreEmptyCells": true,
"errorBoxText": null
},
"type": "XInput",
"validationCol": 0,
"validationRow": 0,
"headerSpecs": [],
"subServiceName": null,
"name": "A",
"sheetName": "Sheet1",
"address": "C4",
"description": null,
"cellCount": 1,
"validationErrors": []
},
{
"sheetIndex": 1,
"value": 3,
"rawValue": 3,
"dataType": "NUMBER",
"numberFormatType": "NUMBER",
"numberFormat": "",
"rowIndex": 5,
"columnIndex": 3,
"rows": 1,
"columns": 1,
"textColor": null,
"backGroundColor": null,
"xjName": null,
"validation": {
"allow": "wholeNumber",
"data": "between",
"min": 1,
"max": 5,
"options": [],
"ignoreEmptyCells": true,
"errorBoxText": null
},
"type": "XInput",
"validationCol": 0,
"validationRow": 0,
"headerSpecs": [],
"subServiceName": null,
"name": "B",
"sheetName": "Sheet1",
"address": "C5",
"description": null,
"cellCount": 1,
"validationErrors": []
}
],
"xOutput": [
{
"sheetIndex": 1,
"value": null,
"rawValue": null,
"dataType": "TEXT",
"numberFormatType": "TEXT",
"numberFormat": "",
"rowIndex": 6,
"columnIndex": 3,
"rows": 1,
"columns": 1,
"textColor": null,
"backGroundColor": null,
"xjName": null,
"validation": null,
"type": "XOutput",
"validationCol": 0,
"validationRow": 0,
"headerSpecs": [],
"subServiceName": null,
"name": "AtimesB",
"sheetName": "Sheet1",
"address": "C6",
"description": null,
"cellCount": 1,
"validationErrors": []
}
],
"sizeOfUploadFile": 15456,
"sizeOfCompressedFile": 15611,
"success": true,
"totalHiddenSheets": 0,
"totalInputTables": 0,
"totalOutputSolves": 0,
"totalOutputTables": 0,
"totalReports": 0,
"totalSheets": 1,
"totalXJInputs": 0,
"totalXJOutputs": 0,
"effectiveStartDate": "2026-01-19T16:05:00Z",
"effectiveEndDate": "2126-01-19T16:05:00Z",
"chainingEngines": [],
"chainedEngines": [],
"solveInputs": [],
"reportInputs": [],
"imageInputs": [],
"serviceCategories": [],
"engineWarnings": [],
"engineType": "Neuron",
"lastCalcTime": 0,
"totalTime": 20,
"serviceStatus": "active",
"inputMetadata": {
"solves": [],
"reports": [],
"single": [
"A",
"B"
],
"images": [],
"tables": [],
"csv": []
},
"outputMetadata": {
"csv": [],
"solves": [],
"reports": [],
"single": [
"AtimesB"
],
"images": [],
"tables": []
},
"xParameter": {},
"nodeGenCompilerResult": {
"Infos": [
{
"TEST": "[Summary] Spark performs a self-test comparing the saved output values in the Excel file and a calculation of the formulas using Spark. The self-test can be used to understand and diagnose mismatches. For the mapped outputs in this workbook, there were 1 matches out of 1 (100.0%) assessed at 12 digits accuracy. The maximum difference has a significance of -∞ and magnitude of -∞. Self-test results may not match if the workbook includes external references, random functions, Xcall, Xrichoutput, Xsolve. The outputs that contain a mismatch are listed in the compiler messages. Read the Spark Neuron documentation for more information about the self-test."
}
],
"Warnings": [],
"Errors": [],
"TokenCnt": [
"RootRelative",
2,
"ImmutableRef",
2,
"Add",
1
],
"SourceXlsxMd5": "dd55495f945dfbb596c2c03c36b685dd",
"SourceLines": 199,
"SourceBytes": 5737,
"SourceFiles": 4,
"CompilerVersion": "1.25.0",
"Sheets": 1,
"Cells": 27,
"CellsWithData": 14,
"Formulas": 1,
"SelfTestCellMatches": 1,
"SelfTestCellsInspected": 1,
"SelfTestMaxSoe": "-Infinity",
"SelfTestMaxMoe": "-Infinity",
"SelfTestDigits": 12,
"SelfTestProcessTimeMillis": 7,
"CompilerStage1Millis": 70,
"CompilerStage2Millis": 13619,
"CompilerStage3Millis": 83,
"CompilerStage4Millis": 93,
"CompilerStage5Millis": 22,
"CompilerDateTime": "2026-01-19T16:05:39.492Z",
"trace": null
},
"metadata": {
"engineInformation": {
"fileSize": 15456,
"author": "myname@mydomain.com",
"productName": "Arithmetic",
"revision": "0.1.0",
"description": null,
"fileMD5Hash": "394ED4529FAF3778D13C2AE6918DB9C2",
"universalFileHash": null,
"releaseDate": "2026-01-19T16:05:58.3747957Z",
"serviceName": "AtimesB",
"noOfInstance": 0,
"uploaderEmail": "myname@mydomain.com",
"defaultEngineType": "Neuron",
"originalFileName": "AtimesB.xlsx",
"sizeOfUploadedFile": 15456,
"releaseNote": null,
"isTypeScriptFile": false,
"engineUpgradeType": "minor",
"publicAPI": false,
"fileGuid": "986ef1ea-c0f0-4634-98e5-e58bc418b25e",
"serviceGuid": null,
"serviceVersionGuid": "c53d397f-af04-4b6a-9437-232c7bc30ea4",
"baseUrl": "https://excel.myenvironment.coherent.global",
"tenant": "mytenant",
"allowToStoreHistory": true,
"calcMode": "AUTO",
"forceInputsWriteBeforeCalcModeChanges": true,
"provenance": null,
"versionLabel": null,
"explainerType": "",
"isXParameter": false,
"parametersetCompatibilityGroup": "",
"xParameterSetVersionId": "",
"versionUpgradeAssert": "OFF",
"xReportRanges": null,
"tags": "",
"originalServiceHash": "9D51F4327DD1B475BF7EE67FD6359466E57EE71CA2F48C0AF8522E2D13E6B22A",
"compiledOutputHash": "BC4646F5F42E1CAF54564448556CDA47DB986989A054E4D33115EF57A4EEC61D",
"compilerVersion": "Neuron_v1.25.0",
"compilerVersionServiceUpdate": "MaintainVersion",
"directAddressingOutputsEnabled": false,
"xConnectorServiceName": null,
"xConnectorTargetUrl": null,
"batchSizeOverride": 0,
"serviceStatus": "active",
"skipMetadata": false,
"skipCompile": false
},
"xInputTable": [
{
"Input Name": "A",
"Description": null,
"Address": "C4"
},
{
"Input Name": "B",
"Description": null,
"Address": "C5"
}
],
"xOutputTable": [
{
"Output Name": "AtimesB",
"Description": null,
"Address": "C6"
}
],
"formsService": null,
"staticService": null,
"versionId": "c53d397f-af04-4b6a-9437-232c7bc30ea4",
"hasSignatureChain": null
},
"totalUsedRowsAndCells": 15,
"isLambdaExist": false,
"parameterset_version_id": "",
"isAutoJsonFormExists": true,
"engineInfos": [
{
"key": "The compiler used for this service version was Neuron_v1.25.0.",
"value": []
}
],
"engineErrors": null,
"hasSignatureChain": null,
"isSameServiceOwner": true
},
"errorCode": null,
"status": "Success"
}Bearer token can be accessed from the user menu.
Tenant is part of your login URL and also available in the user menu.
mytenantnameFolder associated with the API call.
myfoldernameService associated with the API call.
myservicenameversion_id of the requested service.
0fb13c76-8b9b-43da-b664-2b11eb11d5c3OK
PUT /{tenant}/api/v3/folders/{folder}/services/{service}/updateversion/{versionId} HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 234
{
"request_data": {
"description": "My description",
"release_note": "My release note",
"version_label": "My version label",
"tags": "tag1,tag2",
"effective_start_date": "2026-01-19T16:05:23.517Z",
"effective_end_date": "2126-01-19T12:12:00.000Z"
}
}OK
{
"status": "Success",
"response_data": {
"version_id": "7004e077-153f-4561-97ee-eb8124f6eb72",
"revision": "1.2.0",
"jobid": null
},
"response_meta": {
"system": "SPARK",
"request_timestamp": "2026-07-21T05:50:07.141Z"
},
"error": null
}The first and latest versions of a service cannot be deleted. Deleting a version also makes data associated with that version unavailable, including its Excel file, API Call History entries, and testbed results.
Bearer token can be accessed from the user menu.
Tenant is part of your login URL and also available in the user menu.
mytenantnameFolder associated with the API call.
myfoldernameService associated with the API call.
myservicenameversion_id of the requested service.
0fb13c76-8b9b-43da-b664-2b11eb11d5c3OK
DELETE /{tenant}/api/v3/folders/{folder}/services/{service}/version/{versionId} HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": null,
"data": null,
"errorCode": null,
"status": "Success"
}If using an API key, the API key group must contain user groups that are also assigned to Spark.DownloadServiceByVersionId.json or Spark.AllEncompassingProxy.json.
Bearer token can be accessed from the user menu.
Folder associated with the API call.
myfoldernameService associated with the API call.
myservicenameversion_id of the requested service.
0fb13c76-8b9b-43da-b664-2b11eb11d5c3Name of the downloaded file. If not provided, Spark will use an appropriate name.
ca returns the Coherent Assistant enhanced version of the workbook. If not provided, the original workbook will be downloaded.
OK
GET /api/v1/product/{folder}/engines/{service}/download/{versionId} HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
binaryGet Swagger (OpenAPI 2.0) documentation for a Spark service.
If using an API key, the API key group must contain user groups that are also assigned to Spark.DownloadSwagger.json or Spark.AllEncompassingProxy.json.
Bearer token can be accessed from the user menu.
Tenant is part of your login URL and also available in the user menu.
mytenantnameFolder associated with the API call.
myfoldernameService associated with the API call.
myservicenameAll for all subservices or a list of the requested subservices.
Alltrue for integrating with this endpoint.
trueversion_id of the requested service.
0fb13c76-8b9b-43da-b664-2b11eb11d5c3OK
GET /{tenant}/api/v3/folders/{folder}/services/{service}/downloadswagger/{category}/{isDownload}/{versionId} HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{}If using an API key, the API key group must contain user groups that are also assigned to Spark.ServiceDelete.json or Spark.AllEncompassingProxy.json.
Bearer token can be accessed from the user menu.
Folder associated with the API call.
myfoldernameService associated with the API call.
myservicenameOK
DELETE /api/v1/product/{folder}/engines/delete/{service} HTTP/1.1
Host: excel.myenvironmentname.coherent.global
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": null,
"data": null,
"errorCode": null,
"status": "Success"
}Last updated
