SLOPSHOP.ggv4.0
Which APIs to call, how to chain them, what it costs, and what breaks. Go from curious to shipping in under 10 minutes.
Drop in raw invoice text, get back clean structured JSON — invoice ID, customer, amount, and date — stored in persistent memory and ready to query.
Send raw invoice text to the LLM extraction tool with a schema hint. It returns structured JSON every time — no prompt engineering required.
# Step 1 — extract structured fields from raw invoice text curl -X POST https://slopshop.gg/v1/tools/llm-data-extract \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Invoice #4471\nAcme Corp — 2025-03-01\nServices rendered: $2,400.00\nDue: 2025-03-31", "schema": { "invoice_id": "string", "customer": "string", "amount": "number", "date": "string (YYYY-MM-DD)" } }'
{
"ok": true,
"result": {
"extracted": {
"invoice_id": "4471",
"customer": "Acme Corp",
"amount": 2400.00,
"date": "2025-03-01"
}
},
"_engine": "real"
}
Before persisting, confirm the shape is exactly right. This catches LLM hallucinations (wrong types, missing fields) before they silently corrupt your records.
# Step 2 — validate the extracted JSON against your schema curl -X POST https://slopshop.gg/v1/tools/text-json-validate \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "json": "{\"invoice_id\":\"4471\",\"customer\":\"Acme Corp\",\"amount\":2400.00,\"date\":\"2025-03-01\"}", "required_keys": ["invoice_id", "customer", "amount", "date"], "types": { "invoice_id": "string", "amount": "number" } }'
{
"ok": true,
"result": {
"valid": true,
"errors": [],
"parsed": { /* the parsed object */ }
}
}
Store the validated invoice JSON under a namespaced key. Retrieve it later with memory-search or memory-get. Memory operations never consume credits.
# Step 3 — store to persistent memory (always free) curl -X POST https://slopshop.gg/v1/tools/memory-set \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "key": "invoice:4471", "value": { "invoice_id": "4471", "customer": "Acme Corp", "amount": 2400.00, "date": "2025-03-01" }, "ttl": 2592000 }'
All three steps above can be collapsed into a single piped request. The | operator passes each tool's output as the next tool's input.
# Pipe version — extract | validate | store in one call curl -X POST https://slopshop.gg/v1/pipes/run \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "pipe": [ { "tool": "llm-data-extract", "input": { "text": "Invoice #4471\nAcme Corp — 2025-03-01\nServices: $2400\nDue: 2025-03-31", "schema": { "invoice_id":"string","customer":"string","amount":"number","date":"string" } } }, { "tool": "text-json-validate", "input": { "json": "$prev.extracted", "required_keys": ["invoice_id","customer","amount","date"] } }, { "tool": "memory-set", "input": { "key": "invoice:$prev.parsed.invoice_id", "value": "$prev.parsed" } } ] }'
| Tool | Credits | Notes |
|---|---|---|
| llm-data-extract | 10 | LLM inference call |
| text-json-validate | 2 | Schema validation + type check |
| memory-set | 0 | Always free |
| Total | ~12 credits | — |
ttl in seconds if you want automatic expiry. 2592000 = 30 days.invoice:<id> rather than a generic latest_invoice.Get a full security picture in under a minute — tech stack fingerprint, SSL certificate health, HTTP security headers, and response time baseline.
Skip the manual steps entirely. Pass a URL and the agent runs all four checks, aggregates findings, and returns a single structured report with risk ratings. Same ~23 credits. View template docs →
Detect frameworks, CDNs, analytics, CMS, and server software. Exposed tech is a primary attack vector — know it before attackers do.
curl -X POST https://slopshop.gg/v1/tools/sense-url-tech-stack \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://target.example.com" }'
{
"result": {
"technologies": [
{ "name": "WordPress", "version": "6.4.2", "confidence": 98 },
{ "name": "PHP", "version": "8.1", "confidence": 85 },
{ "name": "Cloudflare", "version": null, "confidence": 100 }
]
}
}
Validate the certificate chain, check expiry, detect weak cipher suites, and flag common misconfigurations like self-signed certs or expired intermediates.
curl -X POST https://slopshop.gg/v1/tools/sense-ssl-check \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "hostname": "target.example.com" }'
{
"result": {
"valid": true,
"expires_in_days": 47,
"issuer": "Let's Encrypt",
"grade": "A",
"warnings": ["Certificate expires in less than 60 days"]
}
}
Check for Content-Security-Policy, X-Frame-Options, HSTS, and other headers that prevent common web attacks.
curl -X POST https://slopshop.gg/v1/tools/sense-url-headers \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://target.example.com", "security_check": true }'
{
"result": {
"headers": { /* all response headers */ },
"security": {
"score": 62,
"missing": ["Content-Security-Policy", "Permissions-Policy"],
"present": ["Strict-Transport-Security", "X-Frame-Options"]
}
}
}
Establish a baseline. Slow pages often indicate server-side bloat, unindexed DB queries, or upstream DDoS protection kicking in. Useful for diff-ing before/after deploys.
curl -X POST https://slopshop.gg/v1/tools/sense-url-response-time \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://target.example.com", "samples": 3 }'
{
"result": {
"avg_ms": 312,
"min_ms": 287,
"max_ms": 341,
"status": 200,
"ttfb_ms": 134
}
}
# One-shot: agent runs all checks, returns a ranked report curl -X POST https://slopshop.gg/v1/agent/template/security-audit \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://target.example.com" }'
The template returns a single report object with risk_level, findings[], and recommendations[] — pre-ranked by severity. Useful when you don't want to aggregate manually.
| Tool | Credits | Notes |
|---|---|---|
| sense-url-tech-stack | 5 | External HTTP probe |
| sense-ssl-check | 6 | TLS handshake + chain validation |
| sense-url-headers | 6 | Headers + security scoring |
| sense-url-response-time | 6 | 3 samples default |
| Total | ~23 credits | — |
region parameter when available.Fetch a URL, analyze the content, store the findings in persistent memory, then search and recall them later — across sessions, across runs.
Retrieve the cleaned text content from any URL — no HTML noise, just the readable article or page body, ready for analysis.
curl -X POST https://slopshop.gg/v1/tools/sense-url-content \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com/research-paper", "clean_html": true, "max_chars": 8000 }'
{
"result": {
"title": "Advances in Transformer Architectures",
"content": "The paper introduces...",
"word_count": 3847,
"url": "https://example.com/research-paper"
}
}
Get word count, unique words, top terms, and reading time — useful for tagging and indexing research material so memory-search returns relevant results.
curl -X POST https://slopshop.gg/v1/tools/text-word-count \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "The paper introduces...", "top_n": 10, "stopwords": true }'
{
"result": {
"word_count": 3847,
"unique_words": 1204,
"reading_time_min": 15,
"top_terms": [
{ "term": "transformer", "count": 48 },
{ "term": "attention", "count": 31 }
]
}
}
Save the content, metadata, and top terms together. Tag the entry with searchable keywords so you can surface it later from a natural language query.
curl -X POST https://slopshop.gg/v1/tools/memory-set \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "key": "research:transformer-architectures-2025", "value": { "title": "Advances in Transformer Architectures", "url": "https://example.com/research-paper", "summary": "The paper introduces...", "tags": ["transformer", "attention", "architecture", "ml"], "saved_at": "2025-03-26T10:00:00Z" } }'
Retrieve stored research entries by semantic query. Works across all memory you have stored — search by topic, tag, or phrase.
# Later — find everything you stored about transformers curl -X POST https://slopshop.gg/v1/tools/memory-search \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "query": "transformer architecture papers", "top_k": 5, "prefix": "research:" }'
{
"result": {
"matches": [
{
"key": "research:transformer-architectures-2025",
"score": 0.94,
"value": { /* the stored object */ }
}
]
}
}
| Tool | Credits | Notes |
|---|---|---|
| sense-url-content | 3 | External fetch + parsing |
| text-word-count | 1 | Local compute |
| memory-set | 0 | Free |
| memory-search | 0 | Free — unlimited recall queries |
| Total | ~4 credits | Per URL fetched |
research: so you can scope searches to just your research corpus.agent-a:research: to namespace per agent.memory-get with a known key.Turn messy CSV into clean, filtered, sorted, statistically annotated JSON — without spinning up a data warehouse.
Pass your CSV and cleaning rules, get back clean JSON with stats attached. All four steps run server-side in a single round-trip. View pipe docs →
Convert the raw CSV string into a typed JSON array. Headers become object keys; types are inferred automatically.
curl -X POST https://slopshop.gg/v1/tools/text-csv-to-json \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "csv": "name,age,revenue\nAlice,29,14200\nBob,,8100\n,31,\nCarol,27,19500", "infer_types": true, "trim": true }'
Remove rows with null or empty required fields. Pass a filter expression — here we keep only rows where both name and revenue are present.
curl -X POST https://slopshop.gg/v1/tools/exec-filter-json \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "data": [ /* array from step 1 */ ], "filter": "item.name != null && item.revenue != null && item.age != null" }'
Sort the filtered rows so the highest-revenue records come first. Stable sort preserves original order for ties.
curl -X POST https://slopshop.gg/v1/tools/exec-sort-json \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "data": [ /* filtered array from step 2 */ ], "sort_by": "revenue", "direction": "desc" }'
Get min, max, mean, median, and standard deviation for all numeric fields. Useful for validation and dashboards.
curl -X POST https://slopshop.gg/v1/tools/analyze-json-stats \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "data": [ /* sorted array from step 3 */ ], "fields": ["age", "revenue"] }'
{
"result": {
"stats": {
"revenue": {
"min": 14200, "max": 19500,
"mean": 16850, "median": 16850, "stddev": 2650
},
"age": {
"min": 27, "max": 29, "mean": 28
}
},
"row_count": 2,
"dropped_rows": 2
}
}
# Pre-built pipe: CSV in, clean+sorted+stats JSON out curl -X POST https://slopshop.gg/v1/pipes/data-clean \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "csv": "name,age,revenue\nAlice,29,14200\nBob,,8100\n,31,\nCarol,27,19500", "required_fields": ["name", "revenue", "age"], "sort_by": "revenue", "direction": "desc", "stats": true }'
| Tool | Credits | Notes |
|---|---|---|
| text-csv-to-json | 1 | Local compute |
| exec-filter-json | 1 | Expression eval, sandboxed |
| exec-sort-json | 1 | Stable sort |
| analyze-json-stats | 2 | Statistical analysis |
| Total | ~5 credits | Per pipeline run |
item.field syntax. Avoid this, eval, or DOM references — they are blocked.Generate SHA-256, SHA-512, and MD5 hashes for any input in a single chained flow. Use for checksums, deduplication, and tamper detection.
Send any text or base64-encoded binary, get back all three hashes at once. Fastest path when you just need the checksums. View pipe docs →
The industry-standard hash for file integrity and digital signatures. Use this as your primary checksum.
curl -X POST https://slopshop.gg/v1/tools/crypto-hash-sha256 \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "input": "Hello, Slopshop!" }'
{
"ok": true,
"result": {
"hash": "a3f4b2c1d8e5f7a9...",
"algorithm": "SHA-256",
"input_len": 16
},
"_engine": "real"
}
Higher security margin for long-term archival or when your threat model requires 512-bit output. Useful for cryptographic key derivation chains.
curl -X POST https://slopshop.gg/v1/tools/crypto-hash-sha512 \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "input": "Hello, Slopshop!" }'
{
"result": {
"hash": "9c1e87f3a2b4d6e8...",
"algorithm": "SHA-512",
"input_len": 16
}
}
Fast, widely supported, and sufficient for deduplication and non-security checksums. Do not use MD5 for passwords or security-critical integrity checks — it is cryptographically broken for those use cases.
curl -X POST https://slopshop.gg/v1/tools/crypto-hash-md5 \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "input": "Hello, Slopshop!" }'
{
"result": {
"hash": "d41d8cd98f00b204...",
"algorithm": "MD5"
}
}
# Get all three hashes in a single request curl -X POST https://slopshop.gg/v1/pipes/hash-everything \ -H "Authorization: Bearer $SLOP_KEY" \ -H "Content-Type: application/json" \ -d '{ "input": "Hello, Slopshop!" }'
{
"ok": true,
"result": {
"sha256": "a3f4b2c1d8e5f7a9...",
"sha512": "9c1e87f3a2b4d6e8...",
"md5": "d41d8cd98f00b204...",
"input_len": 16
},
"_engine": "real"
}
| Tool | Credits | Notes |
|---|---|---|
| crypto-hash-sha256 | 1 | Local compute, deterministic |
| crypto-hash-sha512 | 1 | Local compute |
| crypto-hash-md5 | 1 | Local compute |
| Total | ~3 credits | hash-everything pipe |
"encoding": "base64" in the request body.crypto-hmac-verify tool instead of comparing hash strings yourself — naive string comparison is vulnerable to timing attacks.