Skip to content

API Documentation

Welcome to the BountyBot API documentation. This API is automatically generated by PayloadCMS and provides programmatic access to bounties, issues, and payments. We welcome developers to use this API to enhance their experience with our platform.

Authentication

This API uses cookie-based authentication. You must be logged in to access authenticated endpoints. Some endpoints are publicly accessible.

To authenticate:

  1. Log in through the web interface
  2. Your browser will receive authentication cookies
  3. Use these cookies in your API requests

For programmatic access, you can also use API keys:

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://api.bountybot.dev/api/bounties

Rate Limiting

API requests are rate limited to ensure fair usage. The current limits are:

  • 100 requests per minute for authenticated users
  • 10 requests per minute for unauthenticated requests

Available Collections

Users

  • GET /api/users/me - Get current user
  • PATCH /api/users/me - Update current user

Quests

  • GET /api/quests - List all quests
  • GET /api/quests/:id - Get a specific quest

Payment Events

  • GET /api/payment-events - List accessible payment events
  • POST /api/payment-events - Create a payment event

Payment Accounts

  • GET /api/payment-accounts - List your payment accounts
  • GET /api/payment-accounts/:id - Get a specific payment account

Response Format

All responses follow the PayloadCMS format:

json
{
  "docs": [{
    "id": "123",
    "createdAt": "2024-01-15T00:00:00Z",
    "updatedAt": "2024-01-15T00:00:00Z",
    ...fields
  }],
  "totalDocs": 50,
  "page": 1,
  "totalPages": 5,
  "hasNextPage": true,
  "hasPrevPage": false
}

Error Handling

Errors follow the PayloadCMS format:

json
{
  "errors": [{
    "message": "Not authorized",
    "field": "email"
  }]
}

For detailed information about specific collections, please refer to their respective documentation pages.