{"name":"FluffyStack API","description":"Programmatic access to the FluffyStack cloud catalogue: 600+ services across 31 cloud providers, with cross-provider equivalents, compliance tags, and policy generators (AWS SCP, Azure Policy, GCP Org Policy).","latest":"v1","documentation":{"json":"https://api.fluffystack.dev/","openapi":"https://api.fluffystack.dev/openapi.json","curl":"https://text.fluffystack.dev/api","website":"https://fluffystack.dev/help#api"},"auth":{"scheme":"none","note":"All endpoints are open. No API key, no sign-in. Mutation endpoints are rate-limited per IP."},"rateLimits":{"reads":"Not rate-limited. Cached at the Cloudflare edge for 5 minutes.","mutations":"10 req/min/IP across POST endpoints (policies, lists, export, feedback).","textHost":"60 req/min/IP at text.fluffystack.dev."},"versions":{"v1":{"status":"stable","base":"/v1","endpoints":[{"method":"GET","path":"/v1/providers","auth":"open","description":"Every cloud provider in the catalogue.","example":"curl https://api.fluffystack.dev/v1/providers"},{"method":"GET","path":"/v1/categories","auth":"open","description":"Service categories (compute, storage, database, ai-ml, etc.).","example":"curl https://api.fluffystack.dev/v1/categories"},{"method":"GET","path":"/v1/services","auth":"open","description":"List + search services with pagination.","params":{"provider":"filter by provider id (aws, azure, gcp, …)","category":"filter by category id (compute, storage, …)","q":"free-text search across name, description, tags","freeTier":"true to limit to services with a free tier","page":"1-based page index (default 1)","limit":"page size (default 50, max 200)"},"example":"curl \"https://api.fluffystack.dev/v1/services?provider=aws&category=database&limit=10\""},{"method":"GET","path":"/v1/services/:slug","auth":"open","description":"Single-service detail: sub-services, equivalents on other providers, policy identifiers.","example":"curl https://api.fluffystack.dev/v1/services/aws-ec2"},{"method":"GET","path":"/v1/compare","auth":"open","description":"Side-by-side comparison of up to 10 services.","params":{"ids":"comma-separated service slugs"},"example":"curl \"https://api.fluffystack.dev/v1/compare?ids=aws-ec2,azure-virtual-machines,gcp-compute-engine\""},{"method":"POST","path":"/v1/policies/aws-scp","auth":"open","description":"Generate an AWS Service Control Policy for a list of approved service ids. The result is a starting scaffold — review actions, add co-required permissions for your environment, and test in a non-prod OU before applying.","body":"{\"approvedServiceIds\": [\"aws-ec2\", \"aws-s3\", \"aws-rds\"]}","example":"curl -X POST https://api.fluffystack.dev/v1/policies/aws-scp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"approvedServiceIds\": [\"aws-ec2\", \"aws-s3\"]}'"},{"method":"POST","path":"/v1/policies/azure-policy","auth":"open","description":"Generate an Azure Policy initiative listing the allowed resource types for the approved services.","body":"{\"approvedServiceIds\": [\"azure-virtual-machines\", \"azure-storage\"]}"},{"method":"POST","path":"/v1/policies/gcp-org-policy","auth":"open","description":"Generate a GCP organisation policy restricting `gcp.restrictServiceUsage` to the approved API services.","body":"{\"approvedServiceIds\": [\"gcp-compute-engine\", \"gcp-cloud-storage\"]}"},{"method":"POST","path":"/v1/export/markdown","auth":"open","description":"Render an approved-services list as Markdown (for runbooks, READMEs, governance docs).","body":"{\"approvedServiceIds\": [\"aws-ec2\"]}"},{"method":"POST","path":"/v1/lists","auth":"open","description":"Save an approved-services list and get a short shareable URL slug.","body":"{\"name\": \"My approved AWS stack\", \"approvedServiceIds\": [\"aws-ec2\", \"aws-s3\"]}"},{"method":"GET","path":"/v1/lists/:id","auth":"open","description":"Retrieve a previously-saved approved-services list by id.","example":"curl https://api.fluffystack.dev/v1/lists/abc123"},{"method":"GET","path":"/v1/status","auth":"open","description":"Catalogue status: counts, latest update timestamp.","example":"curl https://api.fluffystack.dev/v1/status"},{"method":"GET","path":"/v1/health","auth":"open","description":"Cheap health probe for monitoring tools.","example":"curl https://api.fluffystack.dev/v1/health"}]}}}