# Page Not Found

The URL `scan-using-snyk/snyk-code/custom-rules/the-query-language` does not exist. This page may have been moved, renamed, or deleted.

## Suggested Pages

You may be looking for one of the following:
- [Writing rules using the SDK](https://docs.snyk.io/scan-with-snyk/snyk-iac/current-iac-custom-rules/writing-rules-using-the-sdk.md)
- [PHP rules](https://docs.snyk.io/scan-with-snyk/snyk-code/snyk-code-security-rules/php-rules.md)
- [Ruby rules](https://docs.snyk.io/scan-with-snyk/snyk-code/snyk-code-security-rules/ruby-rules.md)
- [Snyk Code Local Engine](https://docs.snyk.io/scan-with-snyk/snyk-code/snyk-code-local-engine.md)
- [Scala rules](https://docs.snyk.io/scan-with-snyk/snyk-code/snyk-code-security-rules/scala-rules.md)

## How to find the correct page

If the exact page cannot be found, you can still retrieve the information using the documentation query interface.

### Option 1 — Ask a question (recommended)

Perform an HTTP GET request on the documentation index with the `ask` parameter:

```
GET https://docs.snyk.io/scan-with-snyk/snyk-iac/current-iac-custom-rules/writing-rules-using-the-sdk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

### Option 2 — Browse the documentation index

Full index: https://docs.snyk.io/sitemap.md

Use this to discover valid page paths or navigate the documentation structure.

### Option 3 — Retrieve the full documentation corpus

Full export: https://docs.snyk.io/llms-full.txt

Use this to access all content at once and perform your own parsing or retrieval. It will be more expensive.

## Tips for requesting documentation

Prefer `.md` URLs for structured content, append `.md` to URLs (e.g., `/scan-with-snyk/snyk-iac/current-iac-custom-rules/writing-rules-using-the-sdk.md`).

You may also use `Accept: text/markdown` header for content negotiation.
