dykyi-roman/awesome-claude-code/api-doc-template

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Generates API documentation for PHP projects. Creates endpoint documentation with parameters, responses, and examples.

Install

npx vskill@latest install dykyi-roman/awesome-claude-code/api-doc-template

SKILL.md

API Documentation Template Generator

Generate comprehensive API documentation for REST endpoints.

Document Structure

markdown
# API Reference
## Overview
{API description and base URL}
## Authentication
{Auth methods}
## Endpoints
### {Resource}
-[GET /{resource}](#get-resource)
-[POST /{resource}](#post-resource)
-[GET /{resource}/{id}](#get-resource-id)
-[PUT /{resource}/{id}](#put-resource-id)
-[DELETE /{resource}/{id}](#delete-resource-id)
## Error Handling
{Error format and codes}
## Rate Limiting
{Rate limit info}

Section Templates

Overview Section
markdown
## Overview
**Base URL:** `https://api.example.com/v1`
**Content Type:** `application/json`
**API Version:** v1 (2025-01-15)
### Request Format
All requests should include:
-`Content-Type: application/json` header
-Authentication header (see Authentication section)
-Request body as JSON for POST/PUT requests
Authentication Section
markdown
## Authentication
### Bearer Token
Include the token in the Authorization header:

Authorization: Bearer {token}

### API Key
Include the API key in the X-API-Key header:

X-API-Key: {api_key}

### Obtaining Tokens

POST /auth/token Content-Type: application/json

{ "email": "user@example.com", "password": "secret" }

**Response:**

{ "token": "eyJhbGciOiJIUzI1NiIs...", "expires_at": "2025-01-16T12:00:00Z" }

Endpoint Template
markdown
## {HTTP Method} /{path}
{Brief description of what this endpoint does}
### Request
**URL:** `{HTTP Method} /api/v1/{path}`
**Authentication:** Required / Optional
#### Path Parameters
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `{param}` | {type} | Yes/No | {description} |
#### Query Parameters
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `{param}` | {type} | {default} | {description} |
#### Request Body
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `{field}` | {type} | Yes/No | {description} |
**Example Request:**

{METHOD} /api/v1/{path} Authorization: Bearer {token} Content-Type: application/json

{ "field": "value" }

### Response
**Success Response:** `{status code} {status text}`
| Field | Type | Description |
|-------|------|-------------|
| `{field}` | {type} | {description} |
**Example Response:**

{ "id": "123", "field": "value", "created_at": "2025-01-15T10:00:00Z" }

### Errors
| Status | Code | Description |
|--------|------|-------------|
| 400 | `VALIDATION_ERROR` | Invalid request body |
| 401 | `UNAUTHORIZED` | Missing or invalid token |
| 404 | `NOT_FOUND` | Resource not found |
| 422 | `UNPROCESSABLE` | Business rule violation |
Error Handling Section
markdown
## Error Handling
### Error Response Format
All errors follow this format:

{ "error": { "code": "ERROR_CODE", "message": "Human-readable error message", "details": { "field": ["Specific field error"] } } }

### HTTP Status Codes
| Status | Meaning |
|--------|---------|
| 200 | OK - Request succeeded |
| 201 | Created - Resource created |
| 204 | No Content - Successful deletion |
| 400 | Bad Request - Invalid syntax |
| 401 | Unauthorized - Invalid credentials |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Resource doesn't exist |
| 422 | Unprocessable Entity - Validation failed |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error - Server error |
### Common Error Codes
| Code | Description |
|------|-------------|
| `VALIDATION_ERROR` | Request validation failed |
| `UNAUTHORIZED` | Authentication required |
| `FORBIDDEN` | Insufficient permissions |
| `NOT_FOUND` | Resource not found |
| `CONFLICT` | Resource already exists |
| `RATE_LIMITED` | Too many requests |
Rate Limiting Section
markdown
## Rate Limiting
API requests are rate limited per API key:
| Plan | Limit | Window |
|------|-------|--------|
| Free | 100 | per hour |
| Pro | 1000 | per hour |
| Enterprise | 10000 | per hour |
### Rate Limit Headers
| Header | Description |
|--------|-------------|
| `X-RateLimit-Limit` | Maximum requests allowed |
| `X-RateLimit-Remaining` | Requests remaining |
| `X-RateLimit-Reset` | Unix timestamp when limit resets |
### Rate Limit Response
When rate limited, you'll receive:

HTTP/1.1 429 Too Many Requests X-RateLimit-Limit: 100 X-RateLimit-Remaining: 0 X-RateLimit-Reset: 1705320000

{ "error": { "code": "RATE_LIMITED", "message": "Rate limit exceeded. Retry after 60 seconds." } }

Complete Endpoint Example

markdown
## POST /orders
Create a new order for the authenticated user.
### Request
**URL:** `POST /api/v1/orders`
**Authentication:** Required
#### Request Body
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `items` | array | Yes | Order items |
| `items[].product_id` | string | Yes | Product UUID |
| `items[].quantity` | integer | Yes | Quantity (1-100) |
| `shipping_address` | object | Yes | Delivery address |
| `shipping_address.street` | string | Yes | Street address |
| `shipping_address.city` | string | Yes | City name |
| `shipping_address.postal_code` | string | Yes | Postal/ZIP code |
| `shipping_address.country` | string | Yes | ISO 3166-1 alpha-2 |
| `coupon_code` | string | No | Discount code |
**Example Request:**

POST /api/v1/orders Authorization: Bearer eyJhbGci... Content-Type: application/json

{ "items": [ { "product_id": "550e8400-e29b-41d4-a716-446655440000", "quantity": 2 } ], "shipping_address": { "street": "123 Main St", "city": "New York", "postal_code": "10001", "country": "US" }, "coupon_code": "SAVE10" }

### Response
**Success Response:** `201 Created`
| Field | Type | Description |
|-------|------|-------------|
| `id` | string | Order UUID |
| `status` | string | Order status |
| `items` | array | Order items with prices |
| `subtotal` | object | Subtotal amount |
| `discount` | object | Discount amount |
| `total` | object | Total amount |
| `created_at` | string | ISO 8601 timestamp |
**Example Response:**

{ "id": "ord_123456", "status": "pending", "items": [ { "product_id": "550e8400-e29b-41d4-a716-446655440000", "name": "Widget Pro", "quantity": 2, "unit_price": {"amount": 2999, "currency": "USD"}, "total": {"amount": 5998, "currency": "USD"} } ], "subtotal": {"amount": 5998, "currency": "USD"}, "discount": {"amount": 600, "currency": "USD"}, "total": {"amount": 5398, "currency": "USD"}, "shipping_address": { "street": "123 Main St", "city": "New York", "postal_code": "10001", "country": "US" }, "created_at": "2025-01-15T10:30:00Z" }

### Errors
| Status | Code | Description |
|--------|------|-------------|
| 400 | `INVALID_PRODUCT` | Product ID is malformed |
| 404 | `PRODUCT_NOT_FOUND` | Product doesn't exist |
| 422 | `OUT_OF_STOCK` | Insufficient inventory |
| 422 | `INVALID_COUPON` | Coupon code invalid or expired |
| 422 | `MIN_ORDER_VALUE` | Order below minimum value |

Generation Instructions

When generating API documentation:

  1. Identify all endpoints from routes or actions
  2. Document request parameters (path, query, body)
  3. Document response fields with types
  4. Provide realistic example requests/responses
  5. List all possible error responses
  6. Include authentication requirements
  7. Group endpoints by resource

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
96
Repository forks
25
7-day trend score
23

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/dykyi-roman/awesome-claude-code/api-doc-template/badge)](https://verified-skill.com/skills/dykyi-roman/awesome-claude-code/api-doc-template)

Something wrong with this skill or its page? Tell us.