Tinplate 42 Edge APIs

AI Data Prep Live on RapidAPI & Zyla POST /v1/agent-code-guard

AI-Generated Code & GitHub Actions Workflow Sandbox Security Auditor API

Audit LLM-generated Python, JS/TS, Shell, or GitHub Actions code for sandbox escapes before execution. Static security gate for LLM-generated Python, JavaScript/TypeScript, Shell, and GitHub Actions YAML before execution. Detects RCE sinks, cloud IMDS SSRF, filesystem escapes, env harvesting, and CI pwn-requests.

Try It Live in Your Browser · No API Key Required

1. Interactive Sandbox & Sample JSON Output

200 OK · Ready

Editable Request JSON (POST /v1/agent-code-guard)

Live 200 OK Response Envelope

{
  "ok": true,
  "data": {
    "safe": false,
    "verdict": "block",
    "risk_score": 100,
    "detected_language": "python",
    "clean_code": "import os, pickle\npayload = pickle.loads(user_bytes)\nos.system('curl -s http://169.254.169.254/latest/meta-data/')",
    "categories_triggered": [
      "insecure_deserialization",
      "arbitrary_code_execution",
      "network_ssrf_exfiltration"
    ],
    "findings": [
      {
        "rule_id": "PY_INSECURE_PICKLE",
        "category": "insecure_deserialization",
        "severity": "critical",
        "line": 2,
        "snippet": "payload = pickle.loads(user_bytes)",
        "message": "pickle.loads() executes arbitrary Python bytecode during deserialization.",
        "remediation": "Use json.loads() or a strict Pydantic/TypedDict schema instead of pickle."
      }
    ]
  },
  "meta": {
    "request_id": "req_code_01",
    "ms": 1
  }
}

2. Quickstart Code Examples

Full TypeScript & Python SDK →
curl -X POST "https://api.tinplate.dev/v1/agent-code-guard" \
  -H "Content-Type: application/json" \
  -H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
  -d '{"code":"import os, pickle\npayload = pickle.loads(user_bytes)\nos.system('\''curl -s http://169.254.169.254/latest/meta-data/'\'')","language":"python","allow_network":false,"allow_filesystem_write":false}'
import { TinplateClient } from "@tinplate/sdk"; // npm install @tinplate/sdk

const tinplate = new TinplateClient({
  rapidApiKey: process.env.RAPIDAPI_KEY!,
});

const { data, meta } = await tinplate.call("/v1/agent-code-guard", {
  "code": "import os, pickle\npayload = pickle.loads(user_bytes)\nos.system('curl -s http://169.254.169.254/latest/meta-data/')",
  "language": "python",
  "allow_network": false,
  "allow_filesystem_write": false
});
console.log(`[${meta.ms} ms]`, data);
import requests

response = requests.post(
    "https://api.tinplate.dev/v1/agent-code-guard",
    headers={
        "Content-Type": "application/json",
        "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    },
    json={
  "code": "import os, pickle\npayload = pickle.loads(user_bytes)\nos.system('curl -s http://169.254.169.254/latest/meta-data/')",
  "language": "python",
  "allow_network": false,
  "allow_filesystem_write": false
}
)
print(response.json())
const response = await fetch("https://api.tinplate.dev/v1/agent-code-guard", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
  },
  body: JSON.stringify({
  "code": "import os, pickle\npayload = pickle.loads(user_bytes)\nos.system('curl -s http://169.254.169.254/latest/meta-data/')",
  "language": "python",
  "allow_network": false,
  "allow_filesystem_write": false
}),
});
const result = await response.json();
console.log(result);
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "tinplate_agent_code_guard",
    "arguments": {
      "code": "import os, pickle\npayload = pickle.loads(user_bytes)\nos.system('curl -s http://169.254.169.254/latest/meta-data/')",
      "language": "python",
      "allow_network": false,
      "allow_filesystem_write": false
    }
  }
}
OpenAPI 3.0.3 Schema Contract

Request Parameters & Response Schema Reference

Request Body Parameters (POST /v1/agent-code-guard)

Parameter Type & Constraints Description
coderequired string
minLen: 1, maxLen: 262144
LLM-generated Python, JavaScript/TypeScript, or GitHub Actions YAML code (raw or inside markdown code fences).
languageoptional "auto" | "python" | "javascript" | "typescript" | "github_actions_yaml"
default: "auto"
Source language of the snippet (default 'auto').
allow_networkoptional boolean
default: false
Whether outbound HTTP/socket network calls are permitted in this sandbox.
allow_filesystem_writeoptional boolean
default: false
Whether destructive or host-level filesystem writes are permitted.

Response data Object Fields (200 OK)

Field Type Description
safe boolean Field 'safe'
verdict "allow" | "review" | "block" Field 'verdict'
risk_score number Field 'risk_score'
detected_language "python" | "javascript" | "typescript" | "github_actions_yaml" Field 'detected_language'
clean_code string Code with surrounding markdown ``` fences stripped.
categories_triggered string[] Field 'categories_triggered'
findings object[] Field 'findings'

3. What AI-Generated Code & CI Workflow Sandbox Auditor API Detects & Validates

Honest Engineering Boundaries

4. Known Limitations & Test Verification

Release Version: v1.0.7 · Last Verified / Benchmarked: 14 November 2026 · Latency Note: Sub-millisecond figures measure in-Worker V8 compute time (typical client HTTPS network RTT to the nearest Cloudflare PoP is 15–65 ms) · See Full Portfolio Benchmarks & Corpora →

5. Marketplace Plans & Payload Quotas

Plan Monthly Price Included Requests Rate Limit Max Request Payload Best For
BASIC $0.00 / month 500 / month (hard limit) 10 req / min 64 KB Evaluation, local development & CI smoke tests
PRO $9.99 / month 15,000 / month 60 req / min 128 KB Solo developers & production apps
ULTRA $29.99 / month 100,000 / month 300 req / min 256 KB Growing SaaS & multi-agent pipelines
MEGA $79.99 / month 500,000 / month 1,000 req / min 256 KB High-volume enterprise workloads

6. Frequently Asked Questions

How is this different from API #32 (Command & SQL Guard)?

API #32 inspects single-line shell commands and SQL queries. API #42 audits multi-line Python scripts, Node.js/TypeScript programs, and GitHub Actions YAML workflows generated by coding agents.

Can I enforce a custom package allowlist or blocklist?

Yes—pass blocked_imports (e.g. ['socket', 'ctypes', 'fs']) and any matching import or require() statement immediately triggers a block verdict.

Zero Payload Logging

7. Data Handling, Privacy & Marketplace Proxy Disclosure

Submitted code snippets and CI workflows are scanned in memory and discarded immediately.

Worker Zero-Logging Guarantee: Cloudflare Workers Observability and invocation logging are disabled in configuration (observability.enabled = false, head_sampling_rate = 0, invocation_logs = false). Payloads are processed strictly in volatile V8 memory and never logged or stored by Tinplate.

Marketplace Proxies vs. Direct Bearer Key: Requests sent via RapidAPI or Zyla API Hub pass through those marketplaces' proxy infrastructure (subject to their respective privacy policies). Security-sensitive workloads requiring end-to-end zero-intermediary processing can connect directly to https://api.tinplate.dev using a Direct Bearer Key (Authorization: Bearer <API_KEY>). Read our full Privacy Notice and OpenAPI 3.0.3 JSON Schema.

Related Tinplate APIs

🛑 POST /v1/command-sql-guard Tier 1

Agent Shell Command & SQL Query Safety Firewall API

Audit agent shell commands and Text-to-SQL queries for RCE, reverse shells, and destructive SQL.

🔧 POST /v1/tool-call-validator AI Safety & Agents

Agent Tool-Call Validator & Repairer API

Validate and auto-repair broken LLM tool-call arguments against your JSON Schema.

🧱 POST /v1/ssrf-firewall Security & Secrets

Agent URL & SSRF Firewall API

Validate URLs and redirect chains against SSRF, private IPs, and cloud metadata targets.