🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Api Tester

by @wanng-ide

Perform structured HTTP/HTTPS requests (GET, POST, PUT, DELETE) with custom headers and JSON body support. Use for API testing, health checks, or interacting...

Versionv1.0.0
Downloads7,382
Installs93
Stars⭐ 6
TERMINAL
clawhub install api-tester

πŸ“– About This Skill


name: api-tester description: Perform structured HTTP/HTTPS requests (GET, POST, PUT, DELETE) with custom headers and JSON body support. Use for API testing, health checks, or interacting with REST services programmatically without relying on curl.

API Tester

A lightweight, dependency-free HTTP client for OpenClaw.

Usage

Basic GET Request

const api = require('skills/api-tester');
const result = await api.request('GET', 'https://api.example.com/data');
console.log(result.status, result.data);

POST Request with JSON Body

const api = require('skills/api-tester');
const payload = { key: 'value' };
const headers = { 'Authorization': 'Bearer ' };
const result = await api.request('POST', 'https://api.example.com/submit', headers, payload);

Return Format

The request function returns a Promise resolving to:

{
  status: 200,          // HTTP status code
  headers: { ... },     // Response headers
  data: { ... },        // Parsed JSON body (if applicable) or raw string
  raw: "...",           // Raw response body string
  error: "..."          // Error message if request failed (network error, timeout)
}

Features

  • Zero dependencies: Uses Node.js built-in http and https modules.
  • Auto-JSON: Automatically stringifies request body and parses response body if Content-Type matches.
  • Timeout support: Default 10s timeout, configurable.
  • Error handling: Returns structured error object instead of throwing, ensuring safe execution.
  • πŸ’‘ Examples

    Basic GET Request

    const api = require('skills/api-tester');
    const result = await api.request('GET', 'https://api.example.com/data');
    console.log(result.status, result.data);
    

    POST Request with JSON Body

    const api = require('skills/api-tester');
    const payload = { key: 'value' };
    const headers = { 'Authorization': 'Bearer ' };
    const result = await api.request('POST', 'https://api.example.com/submit', headers, payload);
    

    Return Format

    The request function returns a Promise resolving to:

    {
      status: 200,          // HTTP status code
      headers: { ... },     // Response headers
      data: { ... },        // Parsed JSON body (if applicable) or raw string
      raw: "...",           // Raw response body string
      error: "..."          // Error message if request failed (network error, timeout)
    }