# We Playtest Games API > Marketplace connecting indie game developers with playtesters. Cost varies by duration and player count: 30min=$15, 1hr=$20, 2hr=$35, 3hr=$50 base (singleplayer). Multiplayer adds per-extra-player surcharge. Playtesters earn $10/hr per player. ## Base URL https://app.weplaytestgames.com/api/v1/ ## Authentication Bearer token API keys. Include in Authorization header: Authorization: Bearer wpg_sk_... Create keys at: https://app.weplaytestgames.com/dashboard/settings/api-keys Or register with key: POST /api/v1/auth/register/api-key ## Scopes - game_owner: Games, playtests, submissions, slots, dashboard stats - billing: Read-only financial data (balance, payments, invoices) - chat: Conversations and messages - notifications: Notification listing - webhooks: Webhook management (requires game_owner scope too) ## Endpoints ### Auth (no auth / any scope) POST /api/v1/auth/register - Register a new account POST /api/v1/auth/register/api-key - Register and get API key in one step GET /api/v1/auth/me - Get current user profile PATCH /api/v1/auth/profile - Update profile POST /api/v1/auth/change-password - Change password ### Info (any scope) GET /api/v1/info/categories - List game categories GET /api/v1/info/devices - List hardware devices GET /api/v1/info/platforms - List platforms ### Games (game_owner scope) GET /api/v1/games - List my games POST /api/v1/games - Create a game GET /api/v1/games/:id - Get game details PATCH /api/v1/games/:id - Update a game GET /api/v1/games/:id/builds - List game builds ### Playtests (game_owner scope) GET /api/v1/games/:id/playtests - List playtest requests for a game POST /api/v1/games/:id/playtests - Create a playtest request GET /api/v1/playtests/:id - Get playtest details PATCH /api/v1/playtests/:id - Update playtest GET /api/v1/playtests/:id/slots - List slots for a playtest GET /api/v1/slots/:id - Get slot details POST /api/v1/slots/:id/accept - Accept a submission POST /api/v1/slots/:id/reject - Reject a submission GET /api/v1/slots/:id/download-url - Get video download URL GET /api/v1/slots/:id/transcript - Get submission transcript GET /api/v1/submissions - List all pending submissions GET /api/v1/dashboard/stats - Dashboard statistics ### Billing (billing / game_owner scope) GET /api/v1/billing/balance - Get credit balance GET /api/v1/billing/payments - List payment history GET /api/v1/billing/payments/:id - Get payment details GET /api/v1/billing/payments/:id/invoice - Download invoice PDF POST /api/v1/billing/credit - Purchase credit via Stripe POST /api/v1/billing/credit/x402 - Top up credit via crypto (x402) ### Chat (chat scope) GET /api/v1/chat/contacts - List contacts GET /api/v1/chat/conversations/:id - Get messages POST /api/v1/chat/conversations/:id/messages - Send message GET /api/v1/chat/unread-count - Unread count ### Notifications (notifications scope) GET /api/v1/notifications - List notifications POST /api/v1/notifications/mark-all-read - Mark all read ### Webhooks (webhooks + game_owner scope) GET /api/v1/webhooks - List webhooks POST /api/v1/webhooks - Create webhook PATCH /api/v1/webhooks/:id - Update webhook DELETE /api/v1/webhooks/:id - Delete webhook GET /api/v1/webhooks/:id/deliveries - Delivery history POST /api/v1/webhooks/:id/test - Send test event POST /api/v1/webhooks/:id/enable - Re-enable webhook POST /api/v1/webhooks/:id/rotate-secret - Rotate signing secret ### Public (no auth) GET /api/v1/public/transcripts/:id - Get approved transcript GET /api/v1/public/playtester/:id - Public playtester profile ## Resources - Full docs: https://weplaytestgames.com/docs/api - OpenAPI spec: https://weplaytestgames.com/openapi/spec.yaml - Complete reference: https://weplaytestgames.com/llms-full.txt