Spaces:
Configuration error
Configuration error
| import { NextResponse } from 'next/server' | |
| const BASE_URL = process.env.NEXT_PUBLIC_APP_URL || 'https://open-prompt.netlify.app' | |
| /** | |
| * GET /api/v1 | |
| * API overview — returns available endpoints, rate limits, and usage info. | |
| */ | |
| export async function GET() { | |
| return NextResponse.json({ | |
| name: 'OpenPrompt Public API', | |
| version: '1.0.0', | |
| baseUrl: `${BASE_URL}/api/v1`, | |
| documentation: `${BASE_URL}/docs/api`, | |
| rateLimits: { | |
| guest: '10 requests / hour per IP', | |
| authenticated: '50 requests / hour per user', | |
| pro: '500 requests / hour per user', | |
| }, | |
| endpoints: [ | |
| { | |
| method: 'GET', | |
| path: '/api/v1/prompts', | |
| description: 'List public prompts', | |
| params: ['q', 'category', 'tags', 'sort', 'page', 'limit'], | |
| }, | |
| { | |
| method: 'GET', | |
| path: '/api/v1/prompts/:slug', | |
| description: 'Get a single prompt by slug', | |
| }, | |
| { | |
| method: 'POST', | |
| path: '/api/v1/prompts/:slug/run', | |
| description: 'Execute a prompt with variables', | |
| body: { variables: 'object', model: 'string (optional)', stream: 'boolean (optional)' }, | |
| }, | |
| { | |
| method: 'GET', | |
| path: '/api/v1/tools', | |
| description: 'List all AI tools', | |
| params: ['category', 'q', 'limit'], | |
| }, | |
| ], | |
| authentication: { | |
| note: 'Authentication not required for public endpoints. Rate limits apply per IP.', | |
| future: 'API key authentication coming soon — sign up at ' + BASE_URL, | |
| }, | |
| }, { | |
| headers: { | |
| 'Cache-Control': 'public, s-maxage=3600', | |
| }, | |
| }) | |
| } | |