# API Patterns

> Use when creating or modifying API endpoints. Provides REST conventions and error handling patterns for this project.

- Skill: `majiayu000/api-patterns` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/api-patterns`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/api-patterns/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/api-patterns

---


# API Patterns for Pet Adoption Center

## Endpoint Conventions
- GET /pets - List all pets
- GET /pets/{id} - Get single pet
- POST /pets - Create pet
- PUT /pets/{id} - Update pet
- DELETE /pets/{id} - Delete pet

## Response Format
Always return JSON with this structure:
```python
{
    "success": True,
    "data": {...},
    "error": None
}
```

## Error Handling
Use HTTP status codes:
- 200: Success
- 201: Created
- 400: Bad request
- 404: Not found
- 500: Server error

## Example Endpoint
```python
@app.route('/pets', methods=['GET'])
def list_pets():
    try:
        pets = Pet.query.all()
        return jsonify(success=True, data=[p.to_dict() for p in pets])
    except Exception as e:
        return jsonify(success=False, error=str(e)), 500
```

