arch-api

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "arch-api" with this command: npx skills add alphaonedev/openclaw-graph/alphaonedev-openclaw-graph-arch-api

Purpose

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.

When to Use

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.

Key Capabilities

  • REST design: Generates URI structures (e.g., /resources/{id}) and maps HTTP methods (GET, POST) with specific response codes (200 OK, 404 Not Found).

  • Versioning: Supports URI-based (e.g., /v1/resources) or header-based (e.g., Accept: application/vnd.myapi.v1+json) versioning.

  • HATEOAS: Adds self-links and related resource links in JSON responses, e.g., {"_links": {"self": "/users/1"}}.

  • Auth patterns: Implements JWT or OAuth2 flows, including token validation and scopes (e.g., read:users).

  • OpenAPI docs: Auto-generates OpenAPI 3.0 YAML/JSON specs from code or designs, including schemas and endpoints.

  • Gateway patterns: Designs API gateways for routing, e.g., using patterns like Kong or AWS API Gateway for load balancing.

Usage Patterns

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 .

Common Commands/API

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.

Integration Notes

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.

Error Handling

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 .

Concrete Usage Examples

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.

Graph Relationships

  • Related to: se-deployment (for deploying designed APIs via gateway patterns).

  • Connected via: se-architecture cluster (shares tags like "api-design" for collaborative skills).

  • Links to: se-auth (for detailed auth implementations in APIs).

  • Associated with: openapi-tool (for extending OpenAPI doc generation).

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

playwright-scraper

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

clawflows

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

tavily-web-search

No summary provided by upstream source.

Repository SourceNeeds Review