UNPKG

apx-toolkit

Version:

Automatically discover APIs and generate complete integration packages: code in 12 languages, TypeScript types, test suites, SDK packages, API documentation, mock servers, performance reports, and contract tests. Saves 2-4 weeks of work in seconds.

210 lines (209 loc) 8.56 kB
{ "actorSpecification": 1, "name": "apx-toolkit", "title": "APX Toolkit - API Discovery & Integration", "description": "Automatically discover APIs from any website and generate complete integration packages: code in 12 languages, TypeScript types, test suites, SDK packages, API documentation (OpenAPI, Postman, cURL, Insomnia), mock servers, performance reports, and contract tests. Supports REST, GraphQL, and WebSocket. Saves 2-4 weeks of developer work in seconds.", "version": "1.0", "readme": "./README.md", "meta": { "templateId": "typescript-playwright" }, "input": { "title": "Smart API Finder & Documenter", "type": "object", "schemaVersion": 1, "properties": { "startUrls": { "title": "Start URLs", "type": "array", "description": "Array of URLs to start the discovery process from. APX will visit these URLs and discover any APIs they use. Tip: Use web pages (not direct API endpoints) for best results.", "editor": "json", "prefill": [ { "url": "https://example.com" } ], "example": [ {"url": "https://example.com"}, {"url": "https://another-site.com"} ] }, "apiPatterns": { "title": "API URL Patterns (Advanced)", "type": "array", "description": "Optional: Filter specific API endpoints by URL pattern. Examples: ['/api/', '/v1/data']. Leave empty to auto-detect all JSON responses.", "editor": "stringList", "default": [] }, "minResponseSize": { "title": "Minimum Response Size (bytes)", "type": "integer", "description": "Filter out small responses (like config files). Default: 1000 bytes. Increase to focus on larger data APIs.", "default": 1000, "minimum": 0 }, "discoveryTimeout": { "title": "Discovery Timeout (ms)", "type": "integer", "description": "How long to wait for API discovery on each page. Default: 10 seconds. Increase for slower sites.", "default": 10000, "minimum": 1000 }, "maxPages": { "title": "Maximum Pages", "type": "integer", "description": "Maximum number of API pages to process. Default: 100. Increase to get more data, decrease for faster runs.", "default": 100, "minimum": 1 }, "maxConcurrency": { "title": "Max Concurrency", "type": "integer", "description": "Number of API requests to make simultaneously. Default: 5. Increase for speed (but may hit rate limits).", "default": 5, "minimum": 1 }, "dataPath": { "title": "Data Path", "type": "string", "description": "JSONPath to extract data items from API response (e.g., 'data.items', 'results'). If empty, will auto-detect", "editor": "textfield", "default": "" }, "paginationType": { "title": "Pagination Type", "type": "string", "description": "Type of pagination to use", "editor": "select", "enum": ["auto", "offset", "page", "cursor"], "default": "auto" }, "generateDocumentation": { "title": "Generate API Documentation", "type": "boolean", "description": "Automatically generate API documentation in multiple formats (OpenAPI, Postman, cURL, Insomnia)", "default": true }, "exportFormats": { "title": "Export Formats", "type": "array", "description": "Formats to export API documentation (openapi, postman, curl, insomnia)", "editor": "select", "default": ["openapi", "postman", "curl"], "items": { "type": "string", "enum": ["openapi", "postman", "curl", "insomnia"] } }, "enableInteractionSimulation": { "title": "Enable Interaction Simulation", "type": "boolean", "description": "Automatically scroll and click elements to trigger APIs on landing pages (default: true)", "default": true }, "interactionWaitTime": { "title": "Interaction Wait Time (ms)", "type": "integer", "description": "Time to wait after each interaction in milliseconds (default: 2000)", "default": 2000, "minimum": 500, "maximum": 10000 }, "authHeaders": { "title": "Authentication Headers", "type": "object", "description": "Custom authentication headers (e.g., {\"Authorization\": \"Bearer TOKEN\"})", "editor": "json", "default": {} }, "apiKey": { "title": "API Key", "type": "string", "description": "API key for authentication (will be added as X-API-Key header)", "editor": "textfield" }, "bearerToken": { "title": "Bearer Token", "type": "string", "description": "Bearer token for authentication (will be added as Authorization: Bearer TOKEN header)", "editor": "textfield" }, "loginUrl": { "title": "Login URL (OAuth Flow)", "type": "string", "description": "URL for OAuth 2.0 login flow. APX will navigate to this URL and capture authentication tokens automatically", "editor": "textfield" }, "oauthFlow": { "title": "Enable OAuth Flow", "type": "boolean", "description": "Enable automatic OAuth 2.0 token capture from login flow (requires loginUrl)", "default": false }, "generateGitHubActions": { "title": "Generate GitHub Actions", "type": "boolean", "description": "Generate GitHub Actions workflow for automated API discovery", "default": true }, "generateSecurityReport": { "title": "Generate Security Audit Report", "type": "boolean", "description": "Generate security audit report for discovered APIs", "default": true }, "generateEnhancedDocs": { "title": "Generate Enhanced Documentation", "type": "boolean", "description": "Generate markdown documentation with JSDoc comments", "default": true }, "enableGitIntegration": { "title": "Enable Git Integration", "type": "boolean", "description": "Automatically commit generated files to git (requires git repository)", "default": false }, "generateMockServer": { "title": "Generate Mock Server", "type": "boolean", "description": "Auto-generate production-ready mock server from discovered APIs (Express.js/Fastify). Uses real API response data.", "default": true }, "generatePerformanceBenchmark": { "title": "Generate Performance Benchmark", "type": "boolean", "description": "Benchmark all API endpoints and generate performance reports with k6/Artillery load test scripts.", "default": true }, "generateContractTests": { "title": "Generate Contract Tests", "type": "boolean", "description": "Generate contract tests (Pact, Schemathesis) to prevent breaking changes. Includes CI/CD integration.", "default": true }, "generateMCPIntegration": { "title": "Generate MCP Integration", "type": "boolean", "description": "Generate Model Context Protocol (MCP) integration for AI assistant compatibility. Enables AI models to discover and interact with APIs.", "default": true }, "generateX402Integration": { "title": "Generate x402 Protocol Integration", "type": "boolean", "description": "Detect and handle x402 payment-required API endpoints. Auto-generates payment handling code.", "default": true }, "generateDependencyGraph": { "title": "Generate Dependency Graph", "type": "boolean", "description": "Create visual dependency graph showing API relationships, critical paths, and bottlenecks. Generates interactive HTML and Mermaid diagrams.", "default": true } }, "required": ["startUrls"] }, "storages": { "dataset": "./dataset_schema.json" } }