I need you to create a comprehensive API documentation template for my [REST/GraphQL] API called [API_NAME]. This documentation should follow industry best practices and be designed for clarity and developer experience.
Please format this documentation in clean markdown and include the following sections:
## 1. Introduction
- Brief overview of what the API does and its primary use cases
- API version and release information
- Key features and capabilities
- Architectural overview (optional diagram placeholder)
## 2. Getting Started
- Registration and access requirements
- Environment URLs (development, staging, production)
- Authentication overview
- Rate limiting summary
- Quick start example
## 3. Authentication
- Detailed explanation of authentication method(s)
- Step-by-step authentication process
- Token lifecycle management
- Example requests with authentication
- Security best practices
## 4. Request/Response Formats
- Content types
- Standard response structure
- Pagination mechanism
- Filtering, sorting, and search capabilities
- Versioning approach
## 5. Error Handling
- Standard error format
- Common error codes and meanings
- Error examples
- Troubleshooting guidance
## 6. Resources and Endpoints
For each resource/endpoint:
- [REST] HTTP method and path OR [GraphQL] Query/Mutation name
- Description and purpose
- Request parameters (path, query, body) with:
* Name, type, and description
* Required vs. optional status
* Constraints and validation rules
* Default values
- Request body schema (if applicable)
- Response schema with status codes
- Example request in curl (REST) or GraphQL syntax
- Example response with annotations
- Potential errors specific to this endpoint
- Rate limiting considerations (if different from global)
## 7. Advanced Topics
- Batching and bulk operations
- Webhooks (if applicable)
- Caching strategies
- Performance optimization tips
- Integrations with other systems
## 8. SDKs and Tools
- Official client libraries
- Community packages
- Useful development tools
## 9. Reference
- Complete list of status codes
- Glossary of terms
- Useful resources and links
For each section, include appropriate code blocks with syntax highlighting, use tables for parameter listings where appropriate, and maintain consistent formatting throughout the document. Include placeholders where specific implementation details would need to be added.