> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/application-security/application-security/onboard-data-sources/ingest-third-party-data-sources/generic-3rd-party-appsec-collector/troubleshooting.md).

# Troubleshooting

| Symptom                                       | Cause                                                                                 | Resolution                                                                                                                                                                             |
| --------------------------------------------- | ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SARIF validation returns `INVALID`            | The SARIF file does not conform to the SARIF 2.1.0 schema.                            | Verify the SARIF file structure against the SARIF format requirements. Ensure the `runs[].tool.driver.name`, `runs[].results[]`, and `runs[].results[].locations[]` fields are present |
| SARIF validation returns `PARTIALLY_VALID`    | The SARIF file is structurally valid but missing optional fields.                     | Review the validation warnings. Add missing optional fields (severity level, rule description, CWE tags) to improve finding quality. The file can be uploaded in the current state     |
| Upload returns `401 Unauthorized`             | The collector credentials (Token ID or API Token) are invalid or expired.             | Edit the collector in **Settings** → **Data Sources** → **3rd Party AppSec Collector** to regenerate the API credentials. Update the credentials in the CI/CD pipeline configuration   |
| Upload returns `400 Bad Request`              | The request body is not valid JSON or does not conform to the SARIF schema.           | Validate the SARIF file using the validation endpoint before uploading. Ensure the **Content-Type** header is set to `application/json`                                                |
| Findings do not appear after upload           | The `repository_id` parameter does not match a valid Cortex Cloud repository asset.   | Verify the repository asset ID in **Inventories** → **All Assets** → **Application Security** → **Repositories**. Ensure the repository is onboarded and active                        |
| Findings do not appear after upload           | The `branch` parameter does not match the expected branch name.                       | Verify the branch name matches the branch naming convention used in the Cortex Cloud repository configuration                                                                          |
| Findings appear but lack severity             | The SARIF file does not include the `level` field in the results.                     | Add the `level` field (`error`, `warning`, `note`) to each result in the SARIF output. Configure the third-party tool to include severity information in the SARIF output              |
| Findings appear but lack CWE classification   | The SARIF file does not include CWE tags in the rule properties.                      | Add CWE identifiers (e.g., `CWE-79`) to the `runs[].tool.driver.rules[].properties.tags[]` array in the SARIF output                                                                   |
| CI/CD pipeline fails after collector deletion | The deleted collector credentials are still referenced in the pipeline configuration. | Create a new collector instance, generate new credentials, and update the CI/CD pipeline configuration with the new credentials                                                        |


---

# 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://cortex-docs.paloaltonetworks.com/application-security/application-security/onboard-data-sources/ingest-third-party-data-sources/generic-3rd-party-appsec-collector/troubleshooting.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.
