Modules@robinpath/api

@robinpath/api

0.1.1Public

HTTP client for making requests to external APIs with profiles, auth, download/upload, and auto-JSON parsing

@robinpath/api

HTTP client for making requests to external APIs with profiles, auth, download/upload, and auto-JSON parsing

Category Functions Auth License

Why use this module?

The api module lets you:

  • Send a GET request to a URL and return the response body (auto-parses JSON)
  • Send a POST request with a JSON body
  • Send a PUT request with a JSON body
  • Send a PATCH request with a partial JSON body
  • Send a DELETE request

All functions are callable directly from RobinPath scripts with a simple, consistent API.

Installation

npm install @robinpath/api

Quick Start

1. Set up credentials

api.setAuth "github" "bearer" "ghp_xxxxxxxxxxxx"

2. Send a POST request with a JSON body

api.post "https://api.example.com/users" {"name": "Alice", "email": "alice@example.com"}

Available Functions

FunctionDescription
api.getSend a GET request to a URL and return the response body (auto-parses JSON)
api.postSend a POST request with a JSON body
api.putSend a PUT request with a JSON body
api.patchSend a PATCH request with a partial JSON body
api.deleteSend a DELETE request
api.headSend a HEAD request and return response headers only
api.downloadDownload a file from a URL and save it to disk
api.uploadUpload a file as multipart/form-data
api.createProfileCreate a named API profile with base URL, default headers, and timeout
api.setAuthSet authentication on an existing profile
api.setHeadersMerge additional default headers into an existing profile
api.requestSend a generic HTTP request with an explicit method string

Examples

Send a POST request with a JSON body

api.post "https://api.example.com/users" {"name": "Alice", "email": "alice@example.com"}

Send a PUT request with a JSON body

api.put "https://api.example.com/users/1" {"name": "Bob"}

Send a PATCH request with a partial JSON body

api.patch "https://api.example.com/users/1" {"email": "new@example.com"}

Integration with RobinPath

import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/api";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  api.setAuth "github" "bearer" "ghp_xxxxxxxxxxxx"
  api.post "https://api.example.com/users" {"name": "Alice", "email": "alice@example.com"}
`);

Full API Reference

See MODULE.md for complete documentation including all parameters, return types, error handling, and advanced examples.

Related Modules

License

MIT

Versions (1)

VersionTagPublished
0.1.1latestyesterday
Install
$ robinpath install @robinpath/api
Version0.1.1
LicenseMIT
Unpacked Size6.7 KB
Versions1
Weekly Downloads0
Total Downloads0
Stars0
Last Publishyesterday
Createdyesterday

Category

web