# API Caller

Call any REST API dynamically.

- Repository: https://github.com/NVIDIA/SkillEvaluator (620 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add NVIDIA/SkillEvaluator --skill api-caller -g -a claude-code -y`
Codex: `npx skills add NVIDIA/SkillEvaluator --skill api-caller -g -a codex -y`
Cursor: `npx skills add NVIDIA/SkillEvaluator --skill api-caller -g -a cursor -y`
Gemini CLI: `npx skills add NVIDIA/SkillEvaluator --skill api-caller -g -a gemini-cli -y`

## Description

Call any REST API dynamically. Make GET, POST, PUT, DELETE requests to any endpoint with custom headers and JSON body.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# API Caller Skill

Generic skill to call any REST API dynamically. Can work with OpenAPI specs or direct endpoint calls.

## Capabilities

- Call any REST API endpoint (GET, POST, PUT, DELETE)
- Parse OpenAPI/Swagger specs to discover endpoints
- Handle common authentication (API keys, Bearer tokens)
- JSON request/response handling

## Instructions

1. Read this SKILL.md to choose the direct-call or OpenAPI workflow.
2. Use `scripts/parse_openapi.py` first when the user gives an OpenAPI or Swagger spec.
3. Use `scripts/call_api.py` for the actual HTTP request.
4. Return the request result and any recoverable error details to the user.

## Scripts

### scripts/parse_openapi.py

**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:**
```
python scripts/parse_openapi.py <spec_url> [filter_path]
```

**Arguments:**
- `<spec_url>` - URL to the OpenAPI spec (required)
- `[filter_path]` - Optional: filter operations by path substring

**Example:**
```bash
python scripts/parse_openapi.py "https://api.example.com/openapi.json"
```

Returns: API name, base URL, and list of operations with their parameters, request body schema, etc.

### scripts/call_api.py

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:**
```
python scripts/call_api.py --url <endpoint_url> [options]
```

The rest: https://github.com/NVIDIA/SkillEvaluator/blob/HEAD/src/skillevaluator/tier3/reference_skills/api-caller/SKILL.md
