{"openapi":"3.1.0","info":{"title":"drpcrd Platform API","version":"1.0.0","description":"AI-powered creator discovery platform API — search, analytics, and AI chat streaming."},"servers":[{"url":"https://platform.creatorosmail.com","description":"Platform API"}],"tags":[{"name":"System","description":"Health and metadata"},{"name":"Admin","description":"API client management (admin key required)"},{"name":"Creators","description":"Creator search (API key required)"},{"name":"Jobs","description":"Background task triggers (API key required)"}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"HealthResponse":{"type":"object","properties":{"status":{"type":"string","example":"ok"}},"required":["status"]},"ApiClient":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","example":"Acme Corp"},"keyPrefix":{"type":"string","example":"drpcrd_xYz1"},"tier":{"type":"string","enum":["free","pro","enterprise"]},"status":{"type":"string","enum":["active","expired","revoked"]},"expiresAt":{"type":["string","null"]},"lastUsedAt":{"type":["string","null"]},"createdBy":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","name","keyPrefix","tier","status","expiresAt","lastUsedAt","createdBy","createdAt"]}},"parameters":{}},"paths":{"/api/health":{"get":{"summary":"Health check","operationId":"getHealth","tags":["System"],"responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/api/admin/clients":{"get":{"summary":"List API clients","operationId":"listClients","tags":["Admin"],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"List of API clients","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ApiClient"}}},"required":["data"]}}}}}},"post":{"summary":"Create API client","operationId":"createClient","tags":["Admin"],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"tier":{"type":"string","enum":["free","pro","enterprise"]},"expiresAt":{"type":"string"},"createdBy":{"type":"string"}},"required":["name"]}}}},"responses":{"201":{"description":"Client created — key shown once","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ApiClient"},"key":{"type":"string"},"warning":{"type":"string"}},"required":["data","key","warning"]}}}}}}},"/api/admin/clients/{id}/rotate":{"post":{"summary":"Rotate API key","operationId":"rotateClientKey","tags":["Admin"],"security":[{"BearerAuth":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"New key issued — shown once","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"key":{"type":"string"},"warning":{"type":"string"}},"required":["data","key","warning"]}}}}}}},"/api/admin/clients/{id}/revoke":{"delete":{"summary":"Revoke API client","operationId":"revokeClient","tags":["Admin"],"security":[{"BearerAuth":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Client revoked"}}}},"/api/admin/clients/{id}/reactivate":{"post":{"summary":"Reactivate API client","operationId":"reactivateClient","tags":["Admin"],"security":[{"BearerAuth":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Client reactivated"}}}},"/api/admin/clients/{id}":{"delete":{"summary":"Delete API client","operationId":"deleteClient","tags":["Admin"],"security":[{"BearerAuth":[]}],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"204":{"description":"Deleted"}}}},"/api/v1/creators":{"get":{"summary":"Search creators","operationId":"searchCreators","tags":["Creators"],"security":[{"BearerAuth":[]}],"parameters":[{"schema":{"type":"string","description":"Search query"},"required":false,"description":"Search query","name":"q","in":"query"},{"schema":{"type":"string","description":"Max results (default 20)"},"required":false,"description":"Max results (default 20)","name":"limit","in":"query"}],"responses":{"200":{"description":"Creator search results"}}}},"/api/v1/jobs/{taskId}":{"post":{"summary":"Trigger background task","operationId":"triggerJob","tags":["Jobs"],"security":[{"BearerAuth":[]}],"parameters":[{"schema":{"type":"string","example":"daily-dev-tips"},"required":true,"name":"taskId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"202":{"description":"Task triggered"}}}}},"webhooks":{}}