# API Overview ## RESTful API Principles Our API follows RESTful design principles: - **Resource-oriented**: Everything is a resource with a unique URL - **Standard HTTP methods**: GET, POST, PUT, DELETE, PATCH - **JSON format**: Request and response bodies are JSON - **HTTP status codes**: Standard codes indicate success or failure ## Base URL ``` https://api.example.com/v1 ``` ## Authentication Include your API key in the request header: ```http GET /api/overview HTTP/1.1 Host: api.example.com Authorization: Bearer YOUR_API_KEY ``` ## Request Format ```http GET /v1/resources HTTP/1.1 Host: api.example.com Authorization: Bearer YOUR_API_KEY Content-Type: application/json ``` ## Response Format ### Success Response ```json { "success": true, "data": { "id": "123", "name": "Resource Name", "created_at": "2026-02-08T10:00:00Z" } } ``` ### Error Response ```json { "success": false, "error": { "code": "INVALID_REQUEST", "message": "The request was invalid" } } ``` ## Rate Limiting - **Requests per second**: 100 - **Daily limit**: 1,000,000 - **Rate limit headers**: - `X-RateLimit-Limit`: Total requests allowed - `X-RateLimit-Remaining`: Requests remaining - `X-RateLimit-Reset`: When limit resets (Unix timestamp)