{"message":"Welcome to the Dynamic Mock API Server","description":"Generate custom mock data based on your defined structure","apis":{"rest":{"endpoint":"/api/mock/:app/:endpoint","method":"POST","description":"REST API for generating mock data"},"graphql":{"endpoint":"/graphql","description":"GraphQL API for generating mock data with queries and mutations"},"websocket":{"endpoint":"/ws","protocol":"WebSocket","description":"Real-time WebSocket API for live mock data generation and streaming"}},"documentation":{"html":{"url":"/docs","description":"Visit the HTML documentation page for detailed information and examples"},"swagger":{"url":"/api-docs","description":"Visit the Swagger UI for interactive REST API documentation"},"graphql":{"url":"/graphql","description":"Visit the GraphQL playground for interactive GraphQL API testing"},"ai_onboarding":{"json":{"url":"/ai-info","description":"AI-friendly JSON endpoint with comprehensive API information for AI agents"},"markdown":{"url":"/ai-onboarding.md","description":"Detailed markdown guide for AI agent onboarding and integration"}},"websocket":{"info":{"url":"/ws-info","description":"WebSocket server information and metrics"},"endpoint":{"url":"/ws","description":"WebSocket connection endpoint for real-time communication"},"demo":{"url":"/ws-demo","description":"Interactive WebSocket demo page for testing WebSocket functionality"}},"client_integration":{"url":"/client-integration","description":"Comprehensive client-side integration guide for Next.js and React.js applications"}},"usage":{"rest":{"endpoint":"/api/mock/:app/:endpoint","method":"POST","body":{"structure":"Object or Array defining the data structure with faker templates"},"query":{"records":"Number of records to generate (default: 1)"}},"graphql":{"endpoint":"/graphql","queries":["getMock"],"mutations":["postMock"],"input":{"app":"Application name (e.g., users, products, orders)","endpoint":"Endpoint name (e.g., list, details, search)","structure":"Object or Array defining the data structure with faker templates","records":"Number of records to generate (default: 1)"}},"websocket":{"endpoint":"/ws","events":{"mock":["generate","generateBatch","generateStream","subscribe","unsubscribe"],"system":["ping","getInfo","getMetrics","broadcast"],"room":["join","leave"],"namespace":["join"]},"features":{"realTimeData":"Live mock data generation and streaming","rooms":"Join/leave rooms for group communication","namespaces":"Organize connections by namespace","heartbeat":"Automatic connection health monitoring","compression":"Message compression for better performance","binaryData":"Support for binary message formats"}}},"examples":{"rest":{"request":{"url":"/api/mock/users/list?records=5","body":{"structure":{"id":"{{guid}}","name":"{{person.fullName}}","email":"{{internet.email}}","age":"{{integer(18, 65)}}","address":{"street":"{{location.street}}","city":"{{location.city}}","country":"{{location.country}}"}}}}},"graphql":{"query":"query {\n  getMock(input: {\n    app: \"users\"\n    endpoint: \"list\"\n    structure: {\n      id: \"{{guid}}\"\n      name: \"{{person.fullName}}\"\n      email: \"{{internet.email}}\"\n    }\n    records: 3\n  }) {\n    ... on MockDataResponse {\n      success\n      data\n    }\n  }\n}","mutation":"mutation {\n  postMock(input: {\n    app: \"contacts\"\n    endpoint: \"form\"\n    structure: {\n      _id: \"{{objectId()}}\"\n      name: \"{{person.fullName}}\"\n      company: {\n        name: \"{{company.name().toUpperCase()}}\"\n      }\n    }\n  }) {\n    ... on MockDataResponse {\n      success\n      data\n    }\n  }\n}"},"websocket":{"connection":"const ws = new WebSocket('ws://localhost:3000/ws');","generateMockData":"ws.send(JSON.stringify({\n  type: 'mock',\n  event: 'generate',\n  data: {\n    structure: {\n      id: \"{{guid}}\",\n      name: \"{{person.fullName}}\",\n      email: \"{{internet.email}}\"\n    },\n    records: 3\n  }\n}));","joinRoom":"ws.send(JSON.stringify({\n  type: 'room',\n  event: 'join',\n  data: { roomName: 'chat-room' }\n}));","subscribe":"ws.send(JSON.stringify({\n  type: 'mock',\n  event: 'subscribe',\n  data: {\n    topic: 'user-updates',\n    structure: { id: \"{{guid}}\", name: \"{{person.fullName}}\" }\n  }\n}));"}}}