> For the complete documentation index, see [llms.txt](https://docs.soda.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.soda.io/soda-documentation/soda-v3/soda-cloud-api-v1/scans.md).

# Scans

Soda Cloud API Scan Endpoints

## Trigger a scan

> This endpoint enables you to execute a scan that has been defined within Soda Cloud and which runs on a Soda Runner connected to the account. Call this endpoint from within your data pipeline to programmatically execute scans from outside the Soda Cloud environment.\
> \
> This POST uses the following parameters to provide specific details:\
> \
> \- \`scanDefinition\`: Supply a string value to specify the scan definition in Soda Cloud. To retrieve this value, navigate to the Scans page in Soda Cloud, then select the scan definition you wish to execute remotely and copy the scan name, which is the smaller text under the label. For example, \`weekday\_scan\_schedule\`. \<br /> The scan definition \_must be\_ connected to a Soda Runner in order to execute a scan remotely, \_not\_ Soda Library.\
> \
> \- \`dataTimestamp\`: (Optional) Supply a value to indicate a specific timestamp for the scan for Soda Cloud. For example, provide a time in the past so that although Soda executes the scan when you call the endpoint, it timestamps the scan with the value you provide so that it appears in the user interface with your supplied timestamp value, not the time at which it actually executed the scan. Supply an ISO8601 timestamp value such as: \`2023-12-31T10:15:30+01:00\`. If you do not specify a value, Soda uses the current moment to timestamp the scan.\
> \
> The Response of this call, when successful, is \`201\` and contains headers \`Location\` and \`X-Soda-Scan-Id\` which identify the executed scan. Use the value of \`X-Soda-Scan-Id\` in the \`scanId\` parameter of the \*\*Get scan status\*\*, \*\*Get scan logs\*\*, and \*\*Cancel a scan\*\* endpoints.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Any Soda Cloud user in your organization may execute this query.\
> \
> \## Tags\
> \
> \`Scans\`\
> \
> \## Rate limiting\
> \
> 10 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Scan Endpoints","name":"Scans"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/scans":{"post":{"description":"This endpoint enables you to execute a scan that has been defined within Soda Cloud and which runs on a Soda Runner connected to the account. Call this endpoint from within your data pipeline to programmatically execute scans from outside the Soda Cloud environment.\n\nThis POST uses the following parameters to provide specific details:\n\n- `scanDefinition`: Supply a string value to specify the scan definition in Soda Cloud. To retrieve this value, navigate to the Scans page in Soda Cloud, then select the scan definition you wish to execute remotely and copy the scan name, which is the smaller text under the label. For example, `weekday_scan_schedule`. <br /> The scan definition _must be_ connected to a Soda Runner in order to execute a scan remotely, _not_ Soda Library.\n\n- `dataTimestamp`: (Optional) Supply a value to indicate a specific timestamp for the scan for Soda Cloud. For example, provide a time in the past so that although Soda executes the scan when you call the endpoint, it timestamps the scan with the value you provide so that it appears in the user interface with your supplied timestamp value, not the time at which it actually executed the scan. Supply an ISO8601 timestamp value such as: `2023-12-31T10:15:30+01:00`. If you do not specify a value, Soda uses the current moment to timestamp the scan.\n\nThe Response of this call, when successful, is `201` and contains headers `Location` and `X-Soda-Scan-Id` which identify the executed scan. Use the value of `X-Soda-Scan-Id` in the `scanId` parameter of the **Get scan status**, **Get scan logs**, and **Cancel a scan** endpoints.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute this query.\n\n## Tags\n\n`Scans`\n\n## Rate limiting\n\n10 requests/60 seconds","operationId":"POST/api/v1/scans","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"dataTimestamp":{"type":"string","format":"date-time"},"scanDefinition":{"type":"string"}},"required":["scanDefinition"]}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"schema":{"type":"string"}},"X-Soda-Scan-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Trigger a scan","tags":["Scans"]}}}}
```

## Get scan status

> This endpoint enables you to check on the state of a scan that you executed using the \*\*Trigger a scan\*\* endpoint. Call this endpoint to monitor the status of a scan during its execution.\
> \
> If you wish to access the logs of a completed scan, use the \*\*Get scan logs\*\* endpoint.\
> \
> This POST uses the following parameter to provide specific details:\
> \
> \- \`scanId\`: Use the value of \`X-Soda-Scan-Id\` returned as part of the \`201\` response when you called the \*\*Trigger a scan\*\* endpoint.\
> \
> As a scan executes, you can call this endpoint to progressively collect values based on the state of the scan. Refer to the list below for the states that calls to this endpoint return.\
> \
> \- \`queuing\`: The scan is in the queue for execution, awaiting a pick-up from a Soda Runner.\
> \
> \- \`executing\`: A Soda Runner has picked up the scan and is executing.\
> \
> \- \`cancelationRequested\`: An entity requested cancelation of this scan and the request is awaiting pick-up from the Soda Runner responsible for the scan.\
> \
> \- \`timeOutRequested\`: A time out has been detected, and an automatic request to stop the scan execution is awaiting pick-up from the Soda Runner responsible for the scan.\
> \
> \- \`canceled\`: A Soda Runner confirmed that the scan has been cancelled. This is the final state of the scan.\
> \
> \- \`timedOut\`: A Soda Runner confirmed that the scan has timed-out. This is the final state of the scan.\
> \
> \- \`failed\`: The scan did not start, or it did not successfully complete because of an unexpected cause. This is the final state of the scan.\
> \
> \- \`completedWithErrors\`: The scan completed successfully, but there were errors involving some of the checks in the scan. This is the final state of the scan.\
> \
> \- \`completedWithFailures\`: The scan completed successfully and reveals failed results for some checks. This is the final state of the scan.\
> \
> \- \`completedWithWarnings\`: The scan completed successfully and reveals warning results for some checks. This is the final state of the scan.\
> \
> \- \`completed\`: The scan completed successfully and reveals passing results for all checks. This is a final state of a scan\
> \
> To get the logs of the completed scan, please use API \`/api/v1/scans/{scanId}/logs\`.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Any Soda Cloud user in your organization may execute this query.\
> \
> \## Tags\
> \
> \`Scans\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Scan Endpoints","name":"Scans"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiScanStatusResponse":{"type":"object","properties":{"agentId":{"type":"string","deprecated":true},"checks":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/PublicApiCheckSlimDTO"}},"cloudUrl":{"type":"string"},"contractDatasetCloudUrl":{"type":"string"},"created":{"type":"string","format":"date-time"},"ended":{"type":"string","format":"date-time"},"errors":{"type":"integer","format":"int32"},"failures":{"type":"integer","format":"int32"},"id":{"type":"string"},"postProcessingStages":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/PublicApiPostProcessingStageDTO"}},"runnerId":{"type":"string"},"scanDefinition":{"type":"object","$ref":"#/components/schemas/PublicApiScanDefinitionSlim"},"scanTime":{"type":"string","format":"date-time"},"started":{"type":"string","format":"date-time"},"state":{"type":"object","$ref":"#/components/schemas/ScanStateDTO"},"submitted":{"type":"string","format":"date-time"},"warnings":{"type":"integer","format":"int32"}},"required":["cloudUrl","created","id","state"]},"PublicApiCheckSlimDTO":{"type":"object","properties":{"evaluationStatus":{"type":"object","$ref":"#/components/schemas/EvaluationStatusDTO"},"id":{"type":"string"}}},"EvaluationStatusDTO":{"type":"string","enum":["pass","warn","fail","notEvaluated","excluded"]},"PublicApiPostProcessingStageDTO":{"type":"object","properties":{"ended":{"type":"string","format":"date-time"},"name":{"type":"object","$ref":"#/components/schemas/PublicApiPostProcessingStageTypeDTO"},"started":{"type":"string","format":"date-time"},"state":{"type":"object","$ref":"#/components/schemas/PublicApiPostProcessingStageStateDTO"}},"required":["name"]},"PublicApiPostProcessingStageTypeDTO":{"type":"string","enum":["diagnosticWarehouse"]},"PublicApiPostProcessingStageStateDTO":{"type":"string","enum":["ongoing","completed","failed"]},"PublicApiScanDefinitionSlim":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},"ScanStateDTO":{"type":"string","enum":["queuing","executing","started","cancelationRequested","timeOutRequested","canceled","timedOut","failed","completedWithErrors","completedWithFailures","completedWithWarnings","completed"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/scans/{scanId}":{"get":{"description":"This endpoint enables you to check on the state of a scan that you executed using the **Trigger a scan** endpoint. Call this endpoint to monitor the status of a scan during its execution.\n\nIf you wish to access the logs of a completed scan, use the **Get scan logs** endpoint.\n\nThis POST uses the following parameter to provide specific details:\n\n- `scanId`: Use the value of `X-Soda-Scan-Id` returned as part of the `201` response when you called the **Trigger a scan** endpoint.\n\nAs a scan executes, you can call this endpoint to progressively collect values based on the state of the scan. Refer to the list below for the states that calls to this endpoint return.\n\n- `queuing`: The scan is in the queue for execution, awaiting a pick-up from a Soda Runner.\n\n- `executing`: A Soda Runner has picked up the scan and is executing.\n\n- `cancelationRequested`: An entity requested cancelation of this scan and the request is awaiting pick-up from the Soda Runner responsible for the scan.\n\n- `timeOutRequested`: A time out has been detected, and an automatic request to stop the scan execution is awaiting pick-up from the Soda Runner responsible for the scan.\n\n- `canceled`: A Soda Runner confirmed that the scan has been cancelled. This is the final state of the scan.\n\n- `timedOut`: A Soda Runner confirmed that the scan has timed-out. This is the final state of the scan.\n\n- `failed`: The scan did not start, or it did not successfully complete because of an unexpected cause. This is the final state of the scan.\n\n- `completedWithErrors`: The scan completed successfully, but there were errors involving some of the checks in the scan. This is the final state of the scan.\n\n- `completedWithFailures`: The scan completed successfully and reveals failed results for some checks. This is the final state of the scan.\n\n- `completedWithWarnings`: The scan completed successfully and reveals warning results for some checks. This is the final state of the scan.\n\n- `completed`: The scan completed successfully and reveals passing results for all checks. This is a final state of a scan\n\nTo get the logs of the completed scan, please use API `/api/v1/scans/{scanId}/logs`.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute this query.\n\n## Tags\n\n`Scans`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/scans/{scanId}","parameters":[{"in":"path","name":"scanId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiScanStatusResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Get scan status","tags":["Scans"]}}}}
```

## Cancel a scan

> This endpoint enables you to cancel a scan.\
> \
> Depending on the state of the scan when you call this endpoint, the response returns one of the following:\
> \
> \- Where the state is \`pending\`, Soda immediately changes the state to \`canceled\`.\
> \
> \- Where the state is \`submitted\`, Soda immediately changes the state to \`cancelationRequested\`. - Where the scan is in any other state, the endpoint returns a \`400\` (Bad request) response.\
> \
> This DELETE uses the following parameters to provide specific details:\
> \
> \- \`scanId\`: Use the value of \`X-Soda-Scan-Id\` returned as part of the \`201\` response when you called the \*\*Trigger a scan\*\* endpoint.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Any Soda Cloud user in your organization may execute this query.\
> \
> \## Tags\
> \
> \`Scans\`\
> \
> \## Rate limiting\
> \
> 10 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Scan Endpoints","name":"Scans"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/scans/{scanId}":{"delete":{"description":"This endpoint enables you to cancel a scan.\n\nDepending on the state of the scan when you call this endpoint, the response returns one of the following:\n\n- Where the state is `pending`, Soda immediately changes the state to `canceled`.\n\n- Where the state is `submitted`, Soda immediately changes the state to `cancelationRequested`. - Where the scan is in any other state, the endpoint returns a `400` (Bad request) response.\n\nThis DELETE uses the following parameters to provide specific details:\n\n- `scanId`: Use the value of `X-Soda-Scan-Id` returned as part of the `201` response when you called the **Trigger a scan** endpoint.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute this query.\n\n## Tags\n\n`Scans`\n\n## Rate limiting\n\n10 requests/60 seconds","operationId":"DELETE/api/v1/scans/{scanId}","parameters":[{"in":"path","name":"scanId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","headers":{"Location":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Cancel a scan","tags":["Scans"]}}}}
```

## Get scan logs

> This endpoint enables you to gather log details about the final state of a scan you executed using the \*\*Trigger a scan\*\* endpoint. Use this endpoint to study scan logs to investigate issues with its execution.\
> \
> If you wish to access the state of a scan in progress, use the \*\*Get scan status\*\* endpoint.\
> \
> This GET is a paginated API that uses the following parameters to request specific details:\
> \
> \- \`scanId\`: Use the value of \`X-Soda-Scan-Id\` returned as part of the \`201\` response when you called the \*\*Trigger a scan\*\* endpoint.\
> \
> \- \`size\`: Supply an integer value between 100 and 1000, inclusive. The default value is 1000.\
> \
> \- \`page\`: Supply an integer value. The default value is 0.\
> \
> The response sorts the the log information by creation timestamp in ascending order.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Any Soda Cloud user in your organization may execute this query.\
> \
> \## Tags\
> \
> \`Scans\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Scan Endpoints","name":"Scans"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiScanLogsResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/LogsContentDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"LogsContentDTO":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"level":{"type":"object","$ref":"#/components/schemas/LogLevelDTO"},"message":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}},"required":["index","level","message","timestamp"]},"LogLevelDTO":{"type":"string","enum":["debug","info","warning","error"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/scans/{scanId}/logs":{"get":{"description":"This endpoint enables you to gather log details about the final state of a scan you executed using the **Trigger a scan** endpoint. Use this endpoint to study scan logs to investigate issues with its execution.\n\nIf you wish to access the state of a scan in progress, use the **Get scan status** endpoint.\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `scanId`: Use the value of `X-Soda-Scan-Id` returned as part of the `201` response when you called the **Trigger a scan** endpoint.\n\n- `size`: Supply an integer value between 100 and 1000, inclusive. The default value is 1000.\n\n- `page`: Supply an integer value. The default value is 0.\n\nThe response sorts the the log information by creation timestamp in ascending order.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute this query.\n\n## Tags\n\n`Scans`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/scans/{scanId}/logs","parameters":[{"in":"path","name":"scanId","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiScanLogsResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Get scan logs","tags":["Scans"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.soda.io/soda-documentation/soda-v3/soda-cloud-api-v1/scans.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
