Programmer Workshop

All tools that every developer needs

Developer API

The same deterministic transformations behind the web tools, over HTTP. Versioned, key-authenticated and with fair-use limits set by your account tier (returned in the x-ratelimit-* response headers).

Get an API keyMachine-readable operation list

Basics

  • Base URL: /api/public/v1
  • Every operation is POST /api/public/v1/<operation> with a JSON body containing input plus that operation's options.
  • Authenticate with x-api-key: pw_live_….
  • Errors always return { "error": { "message": "…", "status": 400 } }.
  • Inputs are capped at 500,000 characters. Nothing you send is stored — only the endpoint, status and timestamp are recorded for your usage log.

Examples

curl -X POST https://your-workshop-url/api/public/v1/json-to-typescript \
  -H "content-type: application/json" \
  -H "x-api-key: pw_live_your_key" \
  -d '{"input":"{\"id\":1,\"name\":\"Ada\"}","rootName":"User"}'
const res = await fetch("https://your-workshop-url/api/public/v1/sql-format", {
  method: "POST",
  headers: { "content-type": "application/json", "x-api-key": process.env.PW_API_KEY },
  body: JSON.stringify({ input: "select * from users where id=1", dialect: "postgresql" }),
});
const { result } = await res.json();

Operations (30)

OperationWhat it doesExtra body fields
json-formatPretty-print JSON.indent (2)
json-minifyMinify JSON.
json-validateValidate JSON and return the first error position.
json-to-typescriptGenerate TypeScript interfaces.rootName, useTypes
json-to-csharpGenerate C# classes or records.rootName, useRecords
json-to-yamlConvert JSON to YAML.
json-to-xmlConvert JSON to XML.rootName
json-to-csvFlatten a JSON array to CSV.delimiter
json-schemaInfer a JSON Schema.title
jsonpathEvaluate a JSONPath expression.path
analyze-responseDeterministic API response analysis.rootName
openapi-schemaOpenAPI schema for a JSON response.rootName
base64-encodeEncode text as Base64.urlSafe
base64-decodeDecode Base64 to text.
url-encodePercent-encode text.component
url-decodeDecode percent-encoded text.
html-encodeEscape HTML entities.
html-decodeUnescape HTML entities.
jwt-decodeDecode a JWT header and payload (no signature verification).
sql-formatFormat SQL.dialect, uppercase, tabWidth
uuidGenerate UUID v4 values.count
case-convertConvert text case.style (camel, pascal, snake, kebab, upper, lower, title, constant)
regex-testRun a regular expression against text.pattern, flags
base-convertConvert a number between bases.from, to, group
all-basesConvert a number to all binary/octal/decimal/hex forms.group
bit-widthShow signed/unsigned and two's complement for a bit width.width (8, 16, 32, 64)
subnetCalculate IPv4 subnet details.cidr
cidr-to-rangeExpand an IPv4 CIDR into start/end/total.cidr
data-unitsConvert data units from one base.unit
transfer-timeEstimate transfer time.bandwidth, overhead

Made with in Al-Khobar.

All toolsFavoritesHistoryAboutContactPrivacyCookiesTerms