npx skills add ...
npx skills add nvidia/skillevaluator --skill api-caller
Call any REST API dynamically. Make GET, POST, PUT, DELETE requests to any endpoint with custom headers and JSON body.
npx skills add nvidia/skillevaluator --skill api-caller
Generic skill to call any REST API dynamically. Can work with OpenAPI specs or direct endpoint calls.
scripts/parse_openapi.py first when the user gives an OpenAPI or Swagger spec.scripts/call_api.py for the actual HTTP request.Use this first when given an API spec URL. Parses an OpenAPI/Swagger spec and returns available operations with parameters. Run commands from the skill base directory; script paths are relative to this SKILL.md file.
Usage:
Arguments:
<spec_url> - URL to the OpenAPI spec (required)[filter_path] - Optional: filter operations by path substringExample:
Returns: API name, base URL, and list of operations with their parameters, request body schema, etc.
Call a REST API endpoint directly or using an OpenAPI spec. Run commands from the skill base directory; script paths are relative to this SKILL.md file.
Usage:
Arguments:
--url <endpoint_url> - Direct API endpoint URL (required if no --spec)--method <GET|POST|PUT|DELETE> - HTTP method (default: GET)--data <json_string> - Request body as JSON string--headers <json_string> - Custom headers as JSON string--spec <openapi_url> - OpenAPI spec URL (optional, for discovery)--operation <operation_id> - Operation ID from OpenAPI spec--params <json_string> - Path/query parameters as JSON--headerscode-generator skill instead?_limit=N, ?limit=N, ?per_page=N. If unsupported, fetch all and filter with code-generatorWhen given an OpenAPI spec URL, follow this workflow:
Parse the spec first with python scripts/parse_openapi.py:
Review operations - Look at the returned operations, their paths, methods, and parameters
Call the API with python scripts/call_api.py using the discovered endpoint and parameters
code-generator)# Call API with query parameters appended to URL
python scripts/call_api.py --url "https://en.wikipedia.org/w/api.php" --params '{"action": "query", "titles": "NVIDIA", "format": "json"}'# Call API with authentication
python scripts/call_api.py --url "https://api.example.com/data" --headers '{"Authorization": "Bearer TOKEN"}'# Create a resource
python scripts/call_api.py --url "https://api.example.com/items" --method POST --data '{"name": "test", "value": 123}'# Discover and call an endpoint from OpenAPI spec
python scripts/call_api.py --spec "https://api.example.com/openapi.json" --operation "getItems" --params '{"param": "value"}'