Claude Code Plugins

Community-maintained marketplace

Feedback

writing-api-docs

@LerianStudio/ring
17
0

|

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name writing-api-docs
description Patterns and structure for writing API reference documentation including endpoint descriptions, request/response schemas, and error documentation.
trigger - Documenting REST API endpoints - Writing request/response examples - Documenting error codes - Creating API field descriptions
skip_when - Writing conceptual guides → use writing-functional-docs - Reviewing documentation → use documentation-review - Writing code → use dev-team agents
sequence [object Object]
related [object Object]

Writing API Reference Documentation

API reference documentation describes what each endpoint does, its parameters, request/response formats, and error conditions. It focuses on the "what" rather than the "why."

API Reference Principles

  • RESTful and Predictable: Standard HTTP methods, consistent URL patterns, document idempotency
  • Consistent Formats: JSON requests/responses, clear typing, standard error format
  • Explicit Versioning: Version in URL path, backward compatibility notes, deprecated fields marked

Endpoint Documentation Structure

Section Content
Title Endpoint name
Description Brief description of what the endpoint does
HTTP Method + Path POST /v1/organizations/{orgId}/ledgers/{ledgerId}/accounts
Path Parameters Table: Parameter, Type, Required, Description
Query Parameters Table: Parameter, Type, Default, Description
Request Body JSON example + fields table
Success Response Status code + JSON example + fields table
Errors Table: Status Code, Error Code, Description

Field Description Patterns

Type Pattern
Basic name: string — The name of the Account
With constraints code: string — The asset code (max 10 chars, uppercase)
With example email: string — Email address (e.g., "user@example.com")
Deprecated chartOfAccountsGroupName: string — **[Deprecated]** Use \route` instead`

Data Types Reference

Type Description Example
uuid UUID v4 identifier 3172933b-50d2-4b17-96aa-9b378d6a6eac
string Text value "Customer Account"
integer Whole number 42
boolean True/false true
timestamptz ISO 8601 (UTC) 2024-01-15T10:30:00Z
jsonb JSON object {"key": "value"}
array List of values ["item1", "item2"]
enum Predefined values currency, crypto

Request/Response Examples

Rules:

  • Show realistic, working examples (not "foo", "bar")
  • Show all fields that would be returned
  • Use actual UUIDs, timestamps, realistic data

Error Documentation

Standard error format:

{
  "code": "ACCOUNT_NOT_FOUND",
  "message": "The specified account does not exist",
  "details": { "accountId": "invalid-uuid" }
}

Error table:

Status Code Description Resolution
400 INVALID_REQUEST Validation failed Check request format
401 UNAUTHORIZED Missing/invalid auth Provide valid API key
403 FORBIDDEN Insufficient permissions Contact admin
404 NOT_FOUND Resource doesn't exist Verify resource ID
409 CONFLICT Resource already exists Use different identifier
422 UNPROCESSABLE_ENTITY Business rule violation Check constraints
429 TOO_MANY_REQUESTS Rate limit exceeded Retry after delay
500 INTERNAL_ERROR Server error Retry or contact support

HTTP Status Codes

Success: 200 (GET/PUT/PATCH), 201 (POST creates), 204 (DELETE)

Client errors: 400 (malformed), 401 (no auth), 403 (no permission), 404 (not found), 409 (conflict), 422 (invalid semantics), 429 (rate limit)

Server errors: 500 (internal)


Pagination Documentation

For paginated endpoints, document query parameters:

Parameter Type Default Description
limit integer 10 Results per page (max 100)
page integer 1 Page number

Response includes: items, page, limit, totalItems, totalPages


Versioning Notes

Note: You're viewing documentation for the current version (v3).

For deprecated: > **Deprecated:** This endpoint will be removed in v4. Use [/v3/accounts](link) instead.


Quality Checklist

  • HTTP method and path correct
  • All path parameters documented
  • All query parameters documented
  • All request body fields documented with types
  • All response fields documented with types
  • Required vs optional clear
  • Realistic request/response examples included
  • All error codes documented
  • Deprecated fields marked
  • Links to related endpoints included