Skip to content
Back to skills

Backend Api Services

ASecurity

"Modify and debug RAGFlow backend API routes, service layers, auth,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
developmentpythonsqlflaskrailsdebuggingapibackend

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill backend-api-services --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Backend Api Services?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Backend Api Services
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-backend-api-services/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-backend-api-services)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: backend-api-services
description: "Modify and debug RAGFlow backend API routes, service layers, auth,
  DB models, channels, and system endpoints."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Backend API Services

Use this sub-skill when changing or debugging RAGFlow backend HTTP behavior: Quart app registration, `/api/v1` RESTful APIs, legacy `/v1/<page>` APIs, authentication, Peewee services/models, chat channels embedded in the API server, and health/system routes.

## Start Here

1. Identify the route family before editing:
   - Newer public RESTful endpoints live in `api/apps/restful_apis/` and register under `/api/v1`.
   - Legacy app modules use `api/apps/*_app.py` and register under `/v1/<page_name>`.
   - Backward compatibility aliases live in `api/apps/backward_compat.py` and register under both `/api/v1` and `/v1` as declared there.
2. Keep route handlers thin. Put API-facing orchestration in `api/apps/services/` when a RESTful endpoint needs multi-step behavior, and put reusable DB operations in `api/db/services/` against Peewee models from `api/db/db_models.py`.
3. Use the established response and validation helpers from `api/utils/api_utils.py`: `get_json_result`, `construct_json_result`, `get_request_json`, `validate_request`, `not_allowed_parameters`, `server_error_response`.
4. Check auth deliberately. `@login_required` supports signed JWT-style session tokens, API tokens, beta tokens, and server-side session fallback depending on `auth_types`.
5. For route audits, optionally run the bundled static helper: `python scripts/list_routes.py --root <checkout-or-api-snippets>`.

## References

- `references/backend-architecture.md` explains app setup, auth, service boundaries, DB patterns, and channels.
- `references/route-patterns.md` explains route registration, URL prefixes, endpoint conventions, and tests to update.
- `references/troubleshooting.md` maps common backend failures to likely causes and fixes.

## Guardrails

- RAGFlow uses Quart and Peewee; do not introduce Flask-only assumptions or SQLAlchemy patterns.
- Preserve async request handling. Await Quart request body/form helpers and wrap sync call sites with existing service patterns instead of blocking in handlers.
- Do not make runtime docs or helpers depend on a local checkout path. Treat source files and tests as evidence, not runtime dependencies.
- Keep compatibility aliases explicit when changing a public path; update both modern and legacy tests when behavior must coexist.

Files in this skill

  • SKILL.md2.5 KB
  • references/backend-architecture.md6.2 KB
  • references/route-patterns.md5.6 KB
  • references/troubleshooting.md6.7 KB
  • scripts/list_routes.py7.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.