FlyingFish Space
Back to Homepage

Help Center

Frequently Asked Questions

Everything you need to know about JSON Pipeline, credits, API keys, and account security.

This page covers the platform's core product — JSON Pipeline — along with account, billing, and privacy questions that apply across FlyingFish Space. Click any question below to expand the answer. For deeper technical reference, see the API documentation or the knowledge base.

Product & Positioning

Q1What is FlyingFish Space? +

FlyingFish Space is a lightweight, login-free collection of developer tools built around the idea "Simple tools. Less friction." The most complete product today is JSON Pipeline (json.flyingfishspace.com), which focuses on safely repairing, validating, and transforming JSON data used in production systems.

The platform's Terms of Service also describe additional planned or in-progress clusters, such as an Intelligent Logic Cluster (AI-assisted marketing strategy tools) and a DevHUD & Geo Cluster (IP lookup, MMDB tools). Which tools are actually live at any given time is best confirmed on the homepage or in the API docs, since new modules are added incrementally.

Q2How is JSON Pipeline different from other online JSON tools? +

Most online JSON tools only check whether the syntax is valid. When they encounter very large integers, high-precision decimals, keys that contain a literal dot, or schemas with $ref references, they can silently corrupt the data — for example, quietly turning a 64-bit snowflake ID into an imprecise floating-point number.

JSON Pipeline is built "Integrity-First," with four layers of protection:

MechanismWhat it does
Precision GuardDetects and blocks numeric literals that would lose precision
Structural FidelityPreserves the exact identity of every key, including keys containing dots
Schema-AwareResolves Draft 7 $ref references, including cycle detection
Value-LockedAI repair cannot silently alter existing valid values or invent missing ones

When a request can't be handled safely, the API returns a clear rejection (HTTP 422, typically uncharged) instead of a plausible-looking but corrupted result.

Q3Why won't it "fix" oversized integers or high-precision decimals? +

Because JavaScript's Number type (IEEE 754 double precision) has two hard ceilings:

  • Integers are only exact up to Number.MAX_SAFE_INTEGER (9007199254740991, 16 digits)
  • Decimals are only reliably exact to about 15 significant digits

Past those limits, JSON.parse silently rounds or truncates the value — with no error and no warning. JSON Pipeline intercepts this before parsing and tells you exactly which literal is unsafe, so you can decide whether to encode it as a string instead of letting the tool quietly "fix" it into a different number.

Identity: Account ID, Recovery Code, API Key

Q4Why no email or password? +

The platform deliberately avoids email/password accounts to lower the barrier to entry and minimize collection of personal data. Your identity is instead a randomly generated Account ID (UUID) paired with a Recovery Code — neither contains any personal information.

Q5What is the Account ID (UUID)? +

Your Account ID is a unique identifier (standard UUID format) issued when you create an identity. After creation, the platform sets a signed, HttpOnly cookie to keep you signed in — every subsequent identity-aware request (checking balance, issuing a key, etc.) reads this cookie automatically, with no manual parameters needed.

  • Your credit balance is tied to the Account ID, not to any single API Key
  • It is safe to share your Account ID with support — on its own it cannot be used to log in or move funds
Q6What is the Recovery Code, and what is it used for? +

The Recovery Code is a random string generated when your Account ID is created (or whenever you regenerate one). It is the only way to recover or switch identities.

  • Shown in full exactly once — afterward, only its hash is stored, so nobody, including support, can retrieve the plaintext again
  • Required (together with your Account ID) whenever you switch devices, clear cookies, or need to re-authenticate
  • Never share it with anyone. Anyone holding your Account ID + Recovery Code has full control of the account
Q7What is an API Key, and how does it relate to the Account ID? +

An API Key (formatted like ffs_live_xxxxxxxx) is issued per tool module and used for programmatic calls via the X-API-Key header.

  • Each Account ID can have only one active Key per tool module at a time
  • A Key is scoped to the tool it was issued for — a JSON Pipeline key will not authenticate against a different module
  • Credit balance is shared at the Account level, regardless of how many tools or keys you use
  • A Key is shown in full only once, right after it is generated or reissued — afterward the UI shows a masked value (e.g. ffs_live_••••••••••••)
  • You can revoke and reissue a Key at any time; the old Key stops working immediately and your balance carries over to the new one
Q8I lost both my Account ID and Recovery Code — can I recover the account? +

If your browser session (cookie) is still active, you can generate a new Recovery Code from the Billing page.

If the cookie has also expired and both the Account ID and Recovery Code are lost, there is no official way to recover the account. This is an inherent trade-off of the no-email model — please store both values somewhere safe (a password manager is recommended) as soon as they're generated.

Q9How do I keep using the platform on a new device or browser? +

On the Billing page, use "Switch / Recover Identity" and enter your saved Account ID + Recovery Code. Once verified, the platform issues a new sign-in cookie on that device.

Credits & Billing

Q10How much free credit do I get, and how? +

The first time you generate an API Key for a tool, the platform grants 100 free credits — no email or personal information required.

Free credits are subject to anti-abuse limits and may not be granted in every case.

Q11How are credits consumed? Do they expire? +
  • You are generally charged only on a successful request. Requests that produce no real output (failed validation, precision rejections, insufficient balance) are not charged
  • A few tools (notably AI Repair) may charge a small flat fee even on rejection if real AI compute was already consumed — see Q20
  • Credits never expire, and they are preserved through platform maintenance windows
  • Your balance is tied to your Account ID, not to a specific API Key — revoking and reissuing a Key does not affect it
Q12How much does each tool cost? +
ToolCostNotes
JSON Clean1 creditCharged only on a successful repair
Schema validation2 creditsCharged whenever validation runs successfully, regardless of whether the data turns out valid or invalid
Transform3 creditsFlatten / unflatten / rename keys / JSON↔CSV
AI Repair (ai-clean)1 or 10 creditsTiered — see Q20
Q13How are Workflows (multi-step combos) billed? +

A Workflow chains several tools into one call, billed per step that actually completes successfully — steps skipped after an early failure are not charged.

WorkflowStepsMax cost
clean-validateclean → schema3 credits
ai-validateai-clean → schema3–12 credits (depends on whether AI is actually invoked)
clean-reshapeclean → transform4 credits
full-pipelineclean → schema → transform6 credits

Even if a workflow halts partway (for example, a schema-validation failure), steps that already completed successfully are still billed; steps that never ran are not.

Payments & Refunds

Q14How do I top up, and what plans are available? +

Once you have an Account ID and an API Key, you can choose a top-up plan on the Billing page:

PlanPriceCreditsNotes
SOS Pack$1.991,000No bonus
Standard$9.9915,000+50% bonus
Production$49.00150,000+200% bonus
Q15What payment methods are supported? +

Payments are processed via PayPal. The payment options available to you are always shown at checkout on the Billing page.

Q16Is this a subscription? +

No. There is no subscription — you pre-purchase credits once, and they never expire. Use them at your own pace across any tool on the platform.

Q17Can I get a refund? +

A refund may be approved if either condition is met (full details in the Terms of Service, Section 6):

  • Standard window: requested within 14 days of purchase, less than 5% of the purchased quota consumed, and fewer than 3 valid operations completed
  • Systemic failure: a verified technical incident caused credit deductions without corresponding service delivery, confirmed via internal log data

Refunds are not granted for: functional misuse outside a tool's documented scope (e.g. submitting a PDF/image/XML and expecting JSON conversion), consumption beyond the 5%/3-call threshold, or confirmed security violations.

Please contact support@flyingfishspace.com or use in-app support first, before escalating to your payment provider.

Using the Tools

Q18What's the difference between the browser tools and the API? +
API Key needed?Where data is processedBest for
Browser pages (Clean / Schema / Transform)NoEntirely in your browser — nothing sent to a serverOne-off fixes, manual debugging
API callsYes (X-API-Key)Server-side (Cloudflare Worker)Automation, scripts, production integration
AI Repair (browser or API)YesSent to a third-party hosted AI modelSeverely malformed input the rule engine can't fix
Q19What kinds of problems can JSON Clean fix? +
  • Trailing commas
  • Single-quoted strings / unquoted object keys
  • JavaScript-style comments (// and /* */)
  • Illegal escape sequences
  • Smart quotes, em/en dashes, non-breaking spaces, BOM
  • NaN / Infinity (JS-only literals)
  • JSON wrapped in a markdown code fence
  • Truncated JSON (auto-completes missing brackets)

These are all syntax-level repairs, and any input that could cause numeric precision loss (see Q3) is rejected rather than guessed at — Clean never invents or silently alters valid data.

Q20When should I use AI Repair, and how is it billed? +

Use AI Repair when JSON Clean can't recover the structure — severe corruption, missing semantic context, or when you need values semantically remapped against a target schema (e.g. "ok" → an allowed enum value like "active").

AI Repair sends your submitted content to a third-party hosted AI model (Cloudflare Workers AI, @cf/openai/gpt-oss-20b) — it is the only tool on the platform that is not fully local/private by design. Content is not retained after processing.
  • Input is capped at 3,072 bytes (much smaller than the 1MB limit on other tools) — oversized input is rejected before any AI call, so it's never charged
  • If the free rule-based engine alone succeeds and already satisfies any supplied schema, you're charged 1 credit
  • If the AI model actually has to run, you're charged the full 10 credits
  • If the AI ran but its output was rejected by a guardrail (changed a protected value, or failed schema validation), you're charged a flat 1 credit — enough to cover the real compute cost without letting anyone farm free AI calls by intentionally tripping the guardrail

Two guardrails apply on every AI repair: Value-Lock (the AI may only fix structure/keys — it cannot silently change an existing valid value or invent a value for a field that was genuinely missing) and, if a schema is supplied, mandatory re-validation against it.

Q21What do Schema validation and Transform actually do? +

Schema: validates data against a JSON Schema (Draft 7) and returns a structured error report (path, keyword, message), with support for $ref resolution.

Transform: five data-reshaping operations — flatten, unflatten, renameKeys, jsonToCsv, and csvToJson — all governed by the same numeric-precision protections as Clean.

Q22What is a Workflow? +

A Workflow chains multiple tools together (e.g. "repair syntax, then validate against a schema") behind a single API call, avoiding extra round-trips. Available combos and pricing are listed in Q13; the live list — including maintenance status — can always be fetched from GET /api/v1/modules.

Q23What's the maximum request size? +
  • Clean / Schema / Transform (browser and API): 1 MB per request
  • AI Repair (ai-clean) — an exception, due to real-world stability limits on the AI model: 3,072 bytes per request. Split larger documents into smaller batches

Account Security

Q24My API Key was leaked — what should I do? +

Go to the Billing page and click "Revoke & Reissue Key" immediately. The old Key stops working instantly, and your balance carries over to the new one.

Privacy & Data Handling

Q25Is my JSON data stored or logged? +
  • Browser tools (Clean, Schema, Transform pages) run entirely on your device — nothing is sent to a server
  • API calls are processed server-side, but submitted content is not stored or logged
  • AI Repair content is sent to a third-party hosted AI model and is not retained after processing
  • Some tools log that an internal data-quality check was triggered (e.g. a precision warning), but never the actual value — this is used only to calibrate the safeguards over time
  • Non-content metadata related to AI Repair calls (token counts, processing duration) is retained for internal cost analysis and billing accuracy — it never includes your submitted content
Q26Is the platform compliant with privacy regulations? +

The platform does not intentionally collect names, emails, or phone numbers — only hashed fingerprints for abuse prevention. Details on each third-party service (Cloudflare Turnstile for security, GA4 and Microsoft Clarity for analytics, Tawk.to for live chat) and how to opt out of each are in the full Privacy Policy.

Q27Does AI Repair use my data to train models? +

The platform does not intentionally store or use submitted content for model training, and content is not retained after processing. This is governed ultimately by our Privacy Policy and the AI provider's (Cloudflare Workers AI) own terms.

API & Integration

Q28How do I get an API Key? +
  1. Go to /billing
  2. Generate a new Account ID, or sign in with an existing Account ID + Recovery Code
  3. Generate an API Key for the tool module you need
  4. Include it as X-API-Key: your_key in your requests
Q29What's the authentication method? Is there OAuth? +

Programmatic calls use only the X-API-Key header. No login flow, no OAuth, no cookies required.

Q30How do I check my remaining balance and Key status? +

Call GET /api/v1/status with your X-API-Key header. It returns balance, status (active / revoked), platform_uuid, and module_id. This endpoint never charges credits — checking your balance is always free.

Q31Is there full API documentation and code samples? +

Yes — visit /docs for the base URL, authentication, every tool and Workflow endpoint, request/response examples, and code samples in Node.js, Python, and Go.

Q32Are there rate limits? +

Yes, processing endpoints are rate-limited per IP. A few examples:

EndpointLimit
clean, transform60 requests / 60s per IP
schema40 requests / 60s per IP
ai-clean5 requests / 60s per IP (tighter, due to real AI compute cost)
Workflows30–40 requests / 60s per IP (ai-validate matches ai-clean at 5/60s)

The complete table is in the API docs under "Rate Limits."

Reliability & Support

Q33How reliable is the service? Is there an SLA? +

The entire platform runs on Cloudflare's global edge network. There is no formally published SLA at this time — if you plan to use it in production, we recommend validating with low traffic first.

Q34How do I report an issue or get help? +

Use the "Contact Us" link in the site footer — email support@flyingfishspace.com, or open live chat after completing the Cloudflare Turnstile check. You can also browse the knowledge base first.

Q35What's in the knowledge base (Guides)? +

In-depth articles covering topics like why JSON numbers silently lose precision, common JSON errors in LLM output and how to fix them, and privacy practices for online developer tools. New users are encouraged to skim a few articles to quickly understand the platform's design philosophy — especially the core principle of rejecting rather than silently corrupting data.

Q36Do other tool modules also require an API Key? +

Most user-facing tools can be used directly in the browser with no account at all. For programmatic or automated access to a specific module, check that module's own page or /docs to confirm whether an API is offered and how it's billed — Keys are module-scoped and are never interchangeable between tools (see Q7).