skills/se-architecture/arch-api/SKILL.md
API architecture: REST design, versioning, HATEOAS, auth patterns, OpenAPI docs, gateway patterns
npx skillsauth add alphaonedev/openclaw-graph arch-apiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill enables OpenClaw to design, document, and implement API architectures with a focus on REST principles, versioning strategies, HATEOAS, authentication patterns, OpenAPI specifications, and API gateway designs. It ensures APIs are scalable, secure, and standards-compliant.
Use this skill when designing new RESTful APIs, migrating legacy APIs to modern standards, implementing versioning for backward compatibility, or integrating HATEOAS for hypermedia-driven responses. Apply it in microservices environments, when generating OpenAPI docs for Swagger UI, or evaluating auth patterns like JWT for protected endpoints.
Invoke this skill via OpenClaw CLI with the command structure: openclaw arch-api <subcommand> [flags]. Always set the auth key via environment variable: export OPENCLAW_API_KEY=your_api_key before running commands. For interactive use, pipe outputs to other tools, e.g., openclaw arch-api design --rest | jq .. Use JSON config files for complex inputs, formatted as: {"endpoints": [{"path": "/users", "method": "GET"}]}.
To design a REST API, run: openclaw arch-api design --type rest --version v1 --hateoas. For OpenAPI generation, provide a source file: openclaw arch-api docs --input api-spec.json --output openapi.yaml.
Command: openclaw arch-api design --rest --endpoints users/get,users/post --version v1
Flags: --hateoas to enable HATEOAS links; --auth jwt for adding JWT auth.
Code snippet:
openclaw arch-api design --rest > api_design.json
cat api_design.json | grep "uri"
Command: openclaw arch-api generate-openapi --from-code ./src/api/controllers.py --output docs/openapi.yaml
Flags: --validate to check for errors; --gateway kong for gateway-specific patterns.
Code snippet:
export OPENCLAW_API_KEY=abc123
openclaw arch-api generate-openapi --from-code .
API Endpoint: If using OpenClaw's internal API, POST to /v1/arch-api/design with body: {"type": "rest", "version": "v1"}. Response includes JSON like {"endpoints": [{"path": "/users", "method": "GET"}]}. Config format: Use YAML for inputs, e.g.:
endpoints:
- path: /users
method: GET
auth: jwt
Command: openclaw arch-api validate --spec openapi.yaml --check hateoas
Flags: --check versioning to verify version headers.
Integrate this skill with other OpenClaw skills by chaining commands, e.g., openclaw chain arch-api se-deployment --input api_design.json. For external tools, export outputs as files: openclaw arch-api design > input_for_deployment.txt. If auth is required, always use the env var pattern: $OPENCLAW_API_KEY in scripts, e.g., in a bash script:
#!/bin/bash
export OPENCLAW_API_KEY=your_key
openclaw arch-api design --rest
For config sharing, use JSON files compatible with tools like Swagger Editor, ensuring fields match OpenAPI schemas.
Check command exit codes: if openclaw arch-api design returns non-zero, parse stderr for messages like "Invalid endpoint format". For API calls, handle HTTP errors: if status == 401, retry with refreshed $OPENCLAW_API_KEY. Use try-catch in scripts:
try {
openclaw arch-api generate-openapi --input invalid.json
} catch (e) {
if (e.includes("Validation error")) { console.log("Fix JSON schema"); }
}
Common errors: 400 for malformed inputs (e.g., missing --version flag); 403 if $OPENCLAW_API_KEY is invalid. Log errors with: openclaw arch-api design 2>> error.log.
Designing a REST API for a user management system: First, set your auth key: export OPENCLAW_API_KEY=your_key. Then, run: openclaw arch-api design --rest --endpoints users/get,users/post --version v1 --auth jwt --hateoas. This outputs a JSON file with endpoints like {"path": "/users", "method": "GET", "_links": {"self": "/users/1"}}, which you can use to build the API in code.
Generating OpenAPI docs for an existing codebase: Export your key: export OPENCLAW_API_KEY=your_key. Execute: openclaw arch-api generate-openapi --from-code ./src/api --gateway aws --output api_docs.yaml. This creates a YAML file with specs, e.g., including paths for /users and security schemes for JWT, ready for integration with Swagger UI.
tools
Root web development: project structure, tooling selection, deployment decisions
development
WebAssembly: Rust/Go/C to WASM, wasm-bindgen, Emscripten, WASM Component Model
development
Vue 3: Composition API script setup, Pinia, Vue Router 4, SFCs, Vite, Nuxt 3
tools
Tailwind CSS 4: utility classes, config, JIT, arbitrary values, darkMode, plugins, shadcn/ui