Table of contents

API Reference

Complete API documentation for PodStack.

Authentication

All API requests require authentication using an API key:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.podstack.com/v1/users

Endpoints

Users

Get all users

GET /api/v1/users

Query Parameters:

  • page - Page number (default: 1)
  • limit - Results per page (default: 20)
  • sort - Sort field (default: created_at)

Response:

{
  "data": [
    {
      "id": "user_123",
      "name": "John Doe",
      "email": "john@example.com",
      "created_at": "2024-01-15T10:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "pages": 8
  }
}

Get user by ID

GET /api/v1/users/:id

Create user

POST /api/v1/users

Request Body:

{
  "name": "Jane Doe",
  "email": "jane@example.com",
  "password": "secure_password"
}

Update user

PUT /api/v1/users/:id

Delete user

DELETE /api/v1/users/:id

Projects

Get all projects

GET /api/v1/projects

Create project

POST /api/v1/projects

Request Body:

{
  "name": "My Project",
  "description": "Project description",
  "visibility": "public"
}

Error Handling

All errors follow this format:

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid request parameters",
    "details": [
      {
        "field": "email",
        "message": "Invalid email format"
      }
    ]
  }
}

Rate Limiting

API requests are rate limited:

  • 1000 requests per hour for authenticated users
  • 100 requests per hour for unauthenticated requests

Rate limit headers:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 950
X-RateLimit-Reset: 1642345200

For more help, visit our support page or contact support@podstack.com