> 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/spark-openapi-specification/api-call-history-apis.md).

# API Call History APIs

Access the **API Call History**.

## Get Call ID

> Get details of an API call. This is equivalent to \*\*Inspect detailed log\*\*.\<br>\<br> If using an API key, the API key group must contain user groups that are also assigned to \`Spark.DownloadAPILog.json\` or \`Spark.AllEncompassingProxy.json\`.

```json
{"openapi":"3.1.0","info":{"title":"Spark OpenAPI specification","version":"0.1.0"},"tags":[{"name":"API Call History APIs","description":"Access the **API Call History**."}],"servers":[{"url":"https://excel.{environment}.coherent.global","variables":{"environment":{"default":"myenvironment"}}}],"security":[{"bearerAuth":[]},{"tenantName":[],"apiKeyAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer token can be accessed from the user menu."},"tenantName":{"type":"apiKey","in":"header","name":"x-tenant-name","description":"Tenant name header required when using API key authentication."}},"parameters":{"tenant":{"name":"tenant","in":"path","required":true,"description":"Tenant is part of your sign-in URL and also available in the user menu.","schema":{"type":"string"}},"callId":{"name":"callId","in":"path","required":true,"description":"Execute API `call_id`.","schema":{"type":"string","format":"uuid"}}}},"paths":{"/{tenant}/api/v3/log/getexecutionhistorybycallid/{callId}":{"get":{"tags":["API Call History APIs"],"summary":"Get Call ID","description":"Get details of an API call. This is equivalent to **Inspect detailed log**.<br><br> If using an API key, the API key group must contain user groups that are also assigned to `Spark.DownloadAPILog.json` or `Spark.AllEncompassingProxy.json`.","operationId":"getLogGetExecutionHistoryByCallid","parameters":[{"$ref":"#/components/parameters/tenant"},{"$ref":"#/components/parameters/callId"},{"name":"index","in":"query","required":false,"description":"Index number for the record to get. With `v4/execute`, multiple request records can be submitted at once.","schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Download as Excel

> Get the original Excel file with inputs embedded from an Execute API \`call\_id\`. This is equivalent to \*\*Download as Excel\*\*.\<br>\<br> If using an API key, the API key group must contain user groups that are also assigned to \`Spark.DownloadAPILog.json\` or \`Spark.AllEncompassingProxy.json\`.

```json
{"openapi":"3.1.0","info":{"title":"Spark OpenAPI specification","version":"0.1.0"},"tags":[{"name":"API Call History APIs","description":"Access the **API Call History**."}],"servers":[{"url":"https://excel.{environment}.coherent.global","variables":{"environment":{"default":"myenvironment"}}}],"security":[{"bearerAuth":[]},{"tenantName":[],"apiKeyAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer token can be accessed from the user menu."},"tenantName":{"type":"apiKey","in":"header","name":"x-tenant-name","description":"Tenant name header required when using API key authentication."}},"parameters":{"tenant":{"name":"tenant","in":"path","required":true,"description":"Tenant is part of your sign-in URL and also available in the user menu.","schema":{"type":"string"}},"folder":{"name":"folder","in":"path","required":true,"description":"Folder associated with the API call.","schema":{"type":"string"}},"service":{"name":"service","in":"path","required":true,"description":"Service associated with the API call.","schema":{"type":"string"}},"callId":{"name":"callId","in":"path","required":true,"description":"Execute API `call_id`.","schema":{"type":"string","format":"uuid"}}}},"paths":{"/{tenant}/api/v3/folders/{folder}/services/{service}/download/xml/{callId}":{"post":{"tags":["API Call History APIs"],"summary":"Download as Excel","description":"Get the original Excel file with inputs embedded from an Execute API `call_id`. This is equivalent to **Download as Excel**.<br><br> If using an API key, the API key group must contain user groups that are also assigned to `Spark.DownloadAPILog.json` or `Spark.AllEncompassingProxy.json`.","operationId":"getDownloadXML","parameters":[{"$ref":"#/components/parameters/tenant"},{"$ref":"#/components/parameters/folder"},{"$ref":"#/components/parameters/service"},{"$ref":"#/components/parameters/callId"}],"requestBody":{"required":true,"description":"The request body should be empty or `{}`.","content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Download API calls as CSV post job

> Get a \`ZIP\` of \`CSV\` files of the API calls. This is equivalent to \*\*Download all API calls\*\*, \*\*Download as CSV\*\*.\<br>\<br> If using an API key, the API key group must contain user groups that are also assigned to \`Spark.DownloadCsvLog.json\` or \`Spark.AllEncompassingProxy.json\`.

```json
{"openapi":"3.1.0","info":{"title":"Spark OpenAPI specification","version":"0.1.0"},"tags":[{"name":"API Call History APIs","description":"Access the **API Call History**."}],"servers":[{"url":"https://excel.{environment}.coherent.global","variables":{"environment":{"default":"myenvironment"}}}],"security":[{"bearerAuth":[]},{"tenantName":[],"apiKeyAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer token can be accessed from the user menu."},"tenantName":{"type":"apiKey","in":"header","name":"x-tenant-name","description":"Tenant name header required when using API key authentication."}},"parameters":{"tenant":{"name":"tenant","in":"path","required":true,"description":"Tenant is part of your sign-in URL and also available in the user menu.","schema":{"type":"string"}},"folder":{"name":"folder","in":"path","required":true,"description":"Folder associated with the API call.","schema":{"type":"string"}},"service":{"name":"service","in":"path","required":true,"description":"Service associated with the API call.","schema":{"type":"string"}},"CsvExpanded":{"name":"CsvExpanded","in":"query","required":false,"description":"CSV output includes expanded tables.","schema":{"type":"boolean"}}}},"paths":{"/{tenant}/api/v3/folders/{folder}/services/{service}/log/downloadcsv":{"post":{"tags":["API Call History APIs"],"summary":"Download API calls as CSV post job","description":"Get a `ZIP` of `CSV` files of the API calls. This is equivalent to **Download all API calls**, **Download as CSV**.<br><br> If using an API key, the API key group must contain user groups that are also assigned to `Spark.DownloadCsvLog.json` or `Spark.AllEncompassingProxy.json`.","operationId":"postLogDownloadCSV","parameters":[{"$ref":"#/components/parameters/tenant"},{"$ref":"#/components/parameters/folder"},{"$ref":"#/components/parameters/service"},{"$ref":"#/components/parameters/CsvExpanded"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"request_data":{"type":"object","properties":{"timezone_offset":{"type":"integer","description":"Number of minutes to adjust the returned timestamps."},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"description":"Timestamp for start log time filter. Use [Timestamp converter](https://www.timestamp-converter.com/) to convert dates to ISO 8601."},"end_date":{"anyOf":[{"type":"null"},{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"description":"Timestamp for end log time filter. Use [Timestamp converter](https://www.timestamp-converter.com/) to convert dates to ISO 8601."},"call_ids":{"type":["null","array"],"items":{"type":"string"},"description":"Array containing `call_id`s, or single element `correlation_id`, or single element `source_system` to filter."},"callpurpose":{"type":["null","string"],"description":"`call_purpose` to filter."},"userName":{"type":["null","string"],"description":"Username to filter."},"has_warnings":{"type":["null","boolean"],"description":"Filter calls with warnings."},"has_errors":{"type":["null","boolean"],"description":"Filter calls with errors."},"partition_columns":{"type":["null","string"],"description":"Comma-separated string that includes callPurpose, correlationId, sourceSystem. When multiple API calls have the same value for the selected field(s), only the latest entry will be retained."},"include_inputs":{"type":["null","boolean"],"description":"Include inputs with download."},"include_outputs":{"type":["null","boolean"],"description":"Include outputs with download."},"heading_order":{"type":["null","string"],"enum":["AlphabeticalOrder","DataOrder"],"description":"Order in which the inputs and outputs will be written."},"requested_outputs":{"type":["null","array"],"items":{"type":"string"},"description":"Array containing names of outputs to filter."}}},"request_meta":{"type":"object","properties":{"version_id":{"oneOf":[{"type":"null"},{"type":"string","format":"uuid"}],"description":"`version_id` to filter for a specific service version."}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Download API calls as CSV get job status

> Get a \`ZIP\` of \`CSV\` files of the API calls. This is equivalent to \*\*Download all API calls\*\*, \*\*Download as CSV\*\*.\<br>\<br> If using an API key, the API key group must contain user groups that are also assigned to \`Spark.DownloadCsvLog.json\` or \`Spark.AllEncompassingProxy.json\`.

```json
{"openapi":"3.1.0","info":{"title":"Spark OpenAPI specification","version":"0.1.0"},"tags":[{"name":"API Call History APIs","description":"Access the **API Call History**."}],"servers":[{"url":"https://excel.{environment}.coherent.global","variables":{"environment":{"default":"myenvironment"}}}],"security":[{"bearerAuth":[]},{"tenantName":[],"apiKeyAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer token can be accessed from the user menu."},"tenantName":{"type":"apiKey","in":"header","name":"x-tenant-name","description":"Tenant name header required when using API key authentication."}},"parameters":{"tenant":{"name":"tenant","in":"path","required":true,"description":"Tenant is part of your sign-in URL and also available in the user menu.","schema":{"type":"string"}},"folder":{"name":"folder","in":"path","required":true,"description":"Folder associated with the API call.","schema":{"type":"string"}},"service":{"name":"service","in":"path","required":true,"description":"Service associated with the API call.","schema":{"type":"string"}},"jobId":{"name":"jobId","in":"path","required":true,"description":"`job_id` associated from `POST` job.","schema":{"type":"string","format":"uuid"}}}},"paths":{"/{tenant}/api/v3/folders/{folder}/services/{service}/log/downloadcsv/status/{jobId}":{"get":{"tags":["API Call History APIs"],"summary":"Download API calls as CSV get job status","description":"Get a `ZIP` of `CSV` files of the API calls. This is equivalent to **Download all API calls**, **Download as CSV**.<br><br> If using an API key, the API key group must contain user groups that are also assigned to `Spark.DownloadCsvLog.json` or `Spark.AllEncompassingProxy.json`.","operationId":"getLogDownloadCSVStatus","parameters":[{"$ref":"#/components/parameters/tenant"},{"$ref":"#/components/parameters/folder"},{"$ref":"#/components/parameters/service"},{"$ref":"#/components/parameters/jobId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Download API calls as JSON post job

> Get a \`ZIP\` of \`JSON\` files of the API calls. This is equivalent to \*\*Download all API calls\*\*, \*\*Download as JSON\*\*.\<br>\<br> If using an API key, the API key group must contain user groups that are also assigned to \`Spark.DownloadJSONLog.json\` or \`Spark.AllEncompassingProxy.json\`.

```json
{"openapi":"3.1.0","info":{"title":"Spark OpenAPI specification","version":"0.1.0"},"tags":[{"name":"API Call History APIs","description":"Access the **API Call History**."}],"servers":[{"url":"https://excel.{environment}.coherent.global","variables":{"environment":{"default":"myenvironment"}}}],"security":[{"bearerAuth":[]},{"tenantName":[],"apiKeyAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer token can be accessed from the user menu."},"tenantName":{"type":"apiKey","in":"header","name":"x-tenant-name","description":"Tenant name header required when using API key authentication."}},"parameters":{"tenant":{"name":"tenant","in":"path","required":true,"description":"Tenant is part of your sign-in URL and also available in the user menu.","schema":{"type":"string"}},"folder":{"name":"folder","in":"path","required":true,"description":"Folder associated with the API call.","schema":{"type":"string"}},"service":{"name":"service","in":"path","required":true,"description":"Service associated with the API call.","schema":{"type":"string"}}}},"paths":{"/{tenant}/api/v3/folders/{folder}/services/{service}/log/downloadJSON":{"post":{"tags":["API Call History APIs"],"summary":"Download API calls as JSON post job","description":"Get a `ZIP` of `JSON` files of the API calls. This is equivalent to **Download all API calls**, **Download as JSON**.<br><br> If using an API key, the API key group must contain user groups that are also assigned to `Spark.DownloadJSONLog.json` or `Spark.AllEncompassingProxy.json`.","operationId":"postLogDownloadJSON","parameters":[{"$ref":"#/components/parameters/tenant"},{"$ref":"#/components/parameters/folder"},{"$ref":"#/components/parameters/service"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"request_data":{"type":"object","properties":{"timezone_offset":{"type":"integer","description":"Number of minutes to adjust the returned timestamps."},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"description":"Timestamp for start log time filter. Use [Timestamp converter](https://www.timestamp-converter.com/) to convert dates to ISO 8601."},"end_date":{"anyOf":[{"type":"null"},{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"description":"Timestamp for end log time filter. Use [Timestamp converter](https://www.timestamp-converter.com/) to convert dates to ISO 8601."},"call_ids":{"type":["null","array"],"items":{"type":["null","string"]},"description":"Array containing `call_id`s, or single element `correlation_id`, or single element `source_system` to filter."},"callpurpose":{"type":["null","string"],"description":"`call_purpose` to filter."},"userName":{"type":["null","string"],"description":"Username to filter."},"has_warnings":{"type":["null","boolean"],"description":"Filter calls with warnings."},"has_errors":{"type":["null","boolean"],"description":"Filter calls with errors."},"partition_columns":{"type":["null","string"],"description":"Comma-separated string that includes callPurpose,correlationId, sourceSystem. When multiple API calls have the same value for the selected field(s), only the latest entry will be retained."},"include_inputs":{"type":["null","boolean"],"description":"Include inputs with download."},"include_outputs":{"type":["null","boolean"],"description":"Include outputs with download."},"heading_order":{"type":["null","string"],"enum":["AlphabeticalOrder","DataOrder"],"description":"Order in which the inputs and outputs will be written."},"requested_outputs":{"type":["null","array"],"items":{"type":"string"},"description":"Array containing names of outputs to filter."}}},"request_meta":{"type":"object","properties":{"version_id":{"oneOf":[{"type":"null"},{"type":"string","format":"uuid"}],"description":"`version_id` to filter for a specific service version."}}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Download API calls as JSON get job status

> Get a \`ZIP\` of \`JSON\` files of the API calls. This is equivalent to the \*\*API Call History\*\* functionality to \*\*Download all API calls\*\*, \*\*Download as JSON\*\*.\<br>\<br> If using an API key, the API key group must contain user groups that are also assigned to \`Spark.DownloadJSONLog.json\` or \`Spark.AllEncompassingProxy.json\`.

```json
{"openapi":"3.1.0","info":{"title":"Spark OpenAPI specification","version":"0.1.0"},"tags":[{"name":"API Call History APIs","description":"Access the **API Call History**."}],"servers":[{"url":"https://excel.{environment}.coherent.global","variables":{"environment":{"default":"myenvironment"}}}],"security":[{"bearerAuth":[]},{"tenantName":[],"apiKeyAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer token can be accessed from the user menu."},"tenantName":{"type":"apiKey","in":"header","name":"x-tenant-name","description":"Tenant name header required when using API key authentication."}},"parameters":{"tenant":{"name":"tenant","in":"path","required":true,"description":"Tenant is part of your sign-in URL and also available in the user menu.","schema":{"type":"string"}},"folder":{"name":"folder","in":"path","required":true,"description":"Folder associated with the API call.","schema":{"type":"string"}},"service":{"name":"service","in":"path","required":true,"description":"Service associated with the API call.","schema":{"type":"string"}},"jobId":{"name":"jobId","in":"path","required":true,"description":"`job_id` associated from `POST` job.","schema":{"type":"string","format":"uuid"}}}},"paths":{"/{tenant}/api/v3/folders/{folder}/services/{service}/log/downloadJSON/status/{jobId}":{"get":{"tags":["API Call History APIs"],"summary":"Download API calls as JSON get job status","description":"Get a `ZIP` of `JSON` files of the API calls. This is equivalent to the **API Call History** functionality to **Download all API calls**, **Download as JSON**.<br><br> If using an API key, the API key group must contain user groups that are also assigned to `Spark.DownloadJSONLog.json` or `Spark.AllEncompassingProxy.json`.","operationId":"getLogDownloadJSONStatus","parameters":[{"$ref":"#/components/parameters/tenant"},{"$ref":"#/components/parameters/folder"},{"$ref":"#/components/parameters/service"},{"$ref":"#/components/parameters/jobId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```
