# Page Not Found

The URL `files/z0lEAYtoCo2FjHhI2OA6` does not exist. This page may have been moved, renamed, or deleted.

## Suggested Pages

You may be looking for one of the following:
- [KeyCloak](https://docs.openflower.org/workspaces-and-teamwork/oauth/keycloak.md)
- [App Editor](https://docs.openflower.org/build-applications/app-editor.md)
- [App Interaction](https://docs.openflower.org/build-applications/app-interaction.md)
- [Create a new App](https://docs.openflower.org/build-applications/create-a-new-app.md)
- [Layers](https://docs.openflower.org/build-applications/app-editor/layers.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.openflower.org/workspaces-and-teamwork/oauth/keycloak.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.openflower.org/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.openflower.org/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., `/workspaces-and-teamwork/oauth/keycloak.md`).

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