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
JSON
{
"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"
}
}