API Reference

Complete reference for all developer API endpoints.

Base URL: https://yapture.market

Authentication: Bearer token in Authorization header

Developer Profile

POST /api/dev/register

Register as a developer

{
  "name": "string",
  "email": "string",
  "yaptureUserId": "string",
  "companyName": "string (optional)",
  "websiteUrl": "string (optional)",
  "bio": "string (optional)"
}

GET /api/dev/me

Get your developer profile

Requires: API key authentication

PUT /api/dev/me

Update your profile

{
  "name": "string (optional)",
  "email": "string (optional)",
  "companyName": "string (optional)",
  "websiteUrl": "string (optional)",
  "bio": "string (optional)"
}

API Keys

POST /api/dev/api-keys

Generate a new API key

{
  "name": "string",
  "scopes": ["APP_CREATE", "APP_READ", "APP_UPDATE", "APP_DELETE", "ANALYTICS_READ"],
  "expiresInDays": number (optional)
}

⚠️ The full API key is only returned once!

GET /api/dev/api-keys

List all your API keys (keys are masked)

DELETE /api/dev/api-keys/:id

Revoke an API key

Apps Management

POST /api/dev/apps

Create a new app

{
  "name": "string",
  "description": "string",
  "longDescription": "string (optional)",
  "category": "PRODUCTIVITY | UTILITIES | BUSINESS | DEVELOPER_TOOLS | COMMUNICATION | ANALYTICS | AI_ML | FINANCE | EDUCATION | OTHER",
  "environment": "localhost | staging | production",
  "logoUrl": "string (optional)",
  "bannerUrl": "string (optional)",
  "websiteUrl": "string (optional)",
  "oauthClientId": "string (optional)",
  "screenshots": [
    {
      "url": "string",
      "caption": "string (optional)",
      "order": number (optional)
    }
  ]
}

GET /api/dev/apps

List all your apps

GET /api/dev/apps/:id

Get a specific app by ID

PUT /api/dev/apps/:id

Update app details (not allowed for approved apps)

{
  "name": "string (optional)",
  "description": "string (optional)",
  "longDescription": "string (optional)",
  "category": "string (optional)",
  "logoUrl": "string (optional)",
  "bannerUrl": "string (optional)",
  "websiteUrl": "string (optional)",
  "oauthClientId": "string (optional)",
  "screenshots": [...] (optional)
}

POST /api/dev/apps/:id/submit

Submit app for review (changes status from DRAFT to PENDING)

DELETE /api/dev/apps/:id

Delete an app (not allowed for approved apps)

GET /api/dev/apps/:id/analytics

Get app analytics and metrics

Returns: installCount, reviewCount, averageRating, status, featured

Public Endpoints (No Auth Required)

GET /api/apps

List approved apps with filters

Query params: category, environment, featured, search, page, limit

GET /api/apps/:slug

Get app by slug (public)

POST /api/apps/:slug/install

Record app installation

GET /api/apps/featured/list

Get featured apps

Query params: environment, limit

GET /api/apps/categories/list

Get categories with app counts

Response Codes

CodeMeaning
200Success
201Created
400Bad Request
401Unauthorized
403Forbidden
404Not Found
409Conflict
500Server Error