---
title: API Reference Documentation
category: reference
keywords: api, rest, graphql, authentication
---
# API Reference
Complete API documentation for developers.
## Authentication
Before making API requests, you need to authenticate using one of these methods:
### API Keys
Generate an API key from your dashboard:
1. Navigate to Settings
2. Click on "API Keys"
3. Generate a new key
Use the API key in your requests:
```bash
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.example.com/data
```
### OAuth 2.0
For OAuth authentication, follow these steps:
1. Register your application
2. Obtain client credentials
3. Implement the OAuth flow
## REST API Endpoints
The following REST endpoints are available:
### GET /users
Retrieve a list of users.
**Parameters:**
- `page` (integer): Page number
- `limit` (integer): Results per page
### POST /users
Create a new user.
**Body:**
```json
{
"name": "John Doe",
"email": "john@example.com"
}
```
## GraphQL API
Query the GraphQL endpoint at `/graphql`:
```graphql
query {
users {
id
name
email
}
}
```
## Rate Limiting
API requests are rate-limited to 1000 requests per hour.
## Error Handling
The API returns standard HTTP status codes:
- 200: Success
- 400: Bad Request
- 401: Unauthorized
- 404: Not Found
- 500: Server Error