{
  "name": "Zuora Billing",
  "slug": "zuora",
  "website_url": "https://www.zuora.com",
  "vendor_description": "\"Recurring billing software built for AI-era monetization\"",
  "categories": [
    "billing"
  ],
  "summary": "Zuora Billing is an enterprise subscription and usage-based billing platform supporting SaaS, hybrid, and metered pricing models including multi-attribute and dynamic pricing, with built-in revenue recognition for ASC 606 and IFRS 15. It targets mid-market and enterprise companies and requires a sales engagement to purchase, with no published pricing or instant self-serve signup. The REST API supports OAuth2, webhooks, and idempotency, with SDKs for Java, Node.js, Python, and C#, and holds SOC 2 Type II, ISO 27001, PCI DSS, HIPAA, and GDPR certifications.",
  "capabilities": {
    "supported_actions": [
      "create_subscription",
      "update_subscription",
      "cancel_subscription",
      "usage_metering",
      "usage_event_ingestion",
      "tiered_pricing",
      "volume_pricing",
      "flat_fee_pricing",
      "per_unit_pricing",
      "hybrid_pricing",
      "multi_attribute_pricing",
      "dynamic_pricing",
      "proration",
      "invoicing",
      "credit_memo",
      "debit_memo",
      "payment_runs",
      "bill_runs",
      "dunning",
      "smart_payment_retry",
      "revenue_recognition",
      "journal_entries",
      "product_catalog_management",
      "rate_plan_management",
      "customer_account_management",
      "order_management",
      "entitlements",
      "custom_objects",
      "data_queries",
      "workflows",
      "webhooks",
      "multicurrency",
      "tax_calculation",
      "e_invoicing",
      "account_hierarchies",
      "billing_preview",
      "payment_method_management",
      "refunds",
      "payment_gateway_integration"
    ],
    "supported_regions": [
      "United States",
      "European Union",
      "APAC",
      "United Kingdom"
    ],
    "supported_languages": [],
    "input_types": [
      "subscription objects",
      "usage events",
      "order objects",
      "product catalog definitions",
      "customer account data",
      "payment method data",
      "pricing rule definitions"
    ],
    "output_types": [
      "invoices",
      "credit memos",
      "debit memos",
      "revenue schedules",
      "journal entries",
      "payment receipts",
      "billing preview reports",
      "webhook events",
      "JSON (REST API)",
      "revenue recognition reports",
      "audit logs"
    ],
    "webhooks_supported": true,
    "sandbox_available": true,
    "sdk_languages": [
      "Java",
      "Node.js",
      "Python",
      "C#"
    ],
    "mcp_server_available": true
  },
  "integration": {
    "api_style": "rest",
    "base_url": "https://rest.zuora.com/v1",
    "api_version": "2025-08-12",
    "versioning_scheme": "header",
    "stability": "ga",
    "deprecation_policy_url": "https://developer.zuora.com/docs/guides/api-policies/",
    "auth_methods": [
      "oauth2"
    ],
    "auth_docs_url": "https://developer.zuora.com/docs/guides/authentication",
    "idempotency_supported": true,
    "error_format": "vendor-specific",
    "webhook_signing": "hmac_sha256",
    "webhook_events_url": "https://docs.zuora.com/en/zuora-platform/extensibility/events-and-notifications/events-and-notifications-overview",
    "rate_limit_requests": 50000,
    "rate_limit_window": "minute",
    "sdk_packages": [
      {
        "package": "com.zuora.sdk:zuora-sdk-java",
        "language": "Java",
        "official": true,
        "repo_url": "https://github.com/zuora/sdk-java-samples"
      },
      {
        "package": "zuora-sdk-js",
        "language": "Node.js",
        "official": true,
        "repo_url": "https://www.npmjs.com/package/zuora-sdk-js"
      },
      {
        "package": "zuora-sdk",
        "language": "Python",
        "official": true,
        "repo_url": "https://pypi.org/project/zuora-sdk/"
      },
      {
        "package": "ZuoraSDK",
        "language": "C#",
        "official": true,
        "repo_url": "https://github.com/zuora/sdk-csharp"
      }
    ],
    "mcp_url": "https://docs.zuora.com/en/zuora-platform/system-management/zuora-ai/zuora-mcp-server",
    "quickstart_url": "https://developer.zuora.com/docs/get-started/introduction"
  },
  "pricing": {
    "pricing_model": "contact_sales",
    "has_published_pricing": false,
    "starting_price_usd": null,
    "price_basis": null,
    "free_tier_available": false,
    "free_tier_limit": null,
    "free_tier_details": null,
    "minimum_commitment": null,
    "self_serve_signup": false,
    "requires_sales_call": true,
    "requires_verification": false,
    "enterprise_plan_available": true,
    "price_points": []
  },
  "compliance": {
    "soc2": "type_2",
    "hipaa": true,
    "gdpr": true,
    "iso_27001": true,
    "pci_dss": true,
    "sla_published": true,
    "sla_url": "https://knowledgecenter.zuora.com/Editions_and_Service_Policies/Service_policies/CC_Zuora_Support_and_Service_Level_Agreement",
    "data_retention_policy_url": "https://docs.zuora.com/en/support-and-policies/policies/file-retention-policy",
    "documented_rate_limits": "Production & Central Sandbox API: 50,000 RPM | 2.25M RPH | 27M RPD. Developer Sandbox API: 12,500 RPM | 25,000 RPH | 50,000 RPD. API Sandbox: 2,500 RPM | 5,000 RPH | 10,000 RPD. Default concurrent requests: 40; high-volume transaction operations: 200; Object Query: 80. Auth endpoints: 2,000 RPM (100 per IP).",
    "known_restrictions": [
      "Entitlements feature requires a specific Zuora edition",
      "Developer Sandbox contains production settings only (no customer data)",
      "API Sandbox has no refresh capability and limited capacity",
      "Every customer gets one production and one sandbox tenant; additional sandboxes require purchase",
      "Free trial requires sales-team engagement (form submission), not instant self-serve access"
    ]
  },
  "developer": {
    "docs_url": "https://docs.zuora.com/upgrade_browser",
    "api_reference_url": "https://www.zuora.com/resource/api-sandbox/",
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": "https://www.zuora.com/changelog/",
    "status_page_url": null,
    "llms_txt_url": null,
    "markdown_docs_url": null,
    "rendering": "static"
  },
  "adoption": {
    "launched_at": "2007-01-01",
    "ga_date": null,
    "github_stars": null,
    "github_stars_at": null,
    "notable_customers": [
      "Box",
      "Zoom",
      "DocuSign",
      "Siemens",
      "Nutanix",
      "ABB",
      "GoPro",
      "DAZN",
      "Carta",
      "Asana"
    ]
  },
  "scores": {
    "agent_friendliness": 50,
    "pricing_transparency": 0,
    "setup_speed": 40,
    "docs_quality": 45,
    "procurement_friction": 0,
    "trust_readiness": 100,
    "best_for": [
      "Regulated or enterprise workloads - compliance attestations and an enterprise plan",
      "AI agents and automation - an agent-ready surface (MCP / llms.txt)",
      "Teams needing broad API coverage out of the box"
    ],
    "avoid_if": [
      "You need to start building today without contacting sales",
      "You need transparent pricing up front",
      "You want to try it free before paying"
    ]
  },
  "sources": [
    {
      "field": "mcp_server_available",
      "url": "https://www.zuora.com/products/billing/",
      "excerpt": "Expose billing, revenue, and usage data to AI agents and LLMs through secure APIs and MCP servers, enabling custom automation without compromising governance.",
      "confidence": "high"
    },
    {
      "field": "categories",
      "url": "https://www.zuora.com/products/billing/",
      "excerpt": "Manage any mix of one-time, recurring, and usage-based charges on the AI-powered subscription billing platform trusted by 1000+ enterprises worldwide",
      "confidence": "high"
    },
    {
      "field": "primary_use_cases",
      "url": "https://www.zuora.com/products/revenue/",
      "excerpt": "Automates compliance with both ASC 606 and IFRS 15, handling all five steps of revenue recognition requirements",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://developer.zuora.com/faq/billing-faq",
      "excerpt": "The API enables creating, querying, and updating objects including: customer accounts, orders, subscriptions, invoices, and memos. Bulk operations like POST v1/orders allow multiple actions in a single request.",
      "confidence": "high"
    },
    {
      "field": "sandbox_available",
      "url": "https://developer.zuora.com/faq/billing-faq",
      "excerpt": "Three sandbox types are offered: Central Sandbox (refreshable from production with billing data, scrubbed of sensitive info), Developer Sandbox (production settings only, no customer data), API Sandbox (non-refreshable with limited capacity). Every customer receives at least one sandbox; additional ones are available for purchase.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.zuora.com/pricing/",
      "excerpt": "Rather than publishing prices, Zuora directs visitors to: 'Tour the product', 'Speak to an expert', 'Watch a demo'",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://www.zuora.com/pricing/",
      "excerpt": "Zuora uses a contact-sales-only pricing model. No free tier, trial information, or self-serve signup details appear on this page.",
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://www.zuora.com/zuora-test-drive/",
      "excerpt": "Based on your business, we'll provide an environment to help you explore the right Zuora configuration for your AI pricing and monetization use cases.",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://www.zuora.com/about/security/",
      "excerpt": "SOC 2 Type II – adherence to trust service criteria",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://www.zuora.com/about/security/",
      "excerpt": "HIPAA Compliance – healthcare data protection",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://www.zuora.com/wp-content/uploads/2025/11/Zuora_CustomerDPA_Oct_2025_presigned.pdf",
      "excerpt": "Where EU or UK GDPR apply, the Customer is data Controller and Zuora is data Processor, and each party agrees to comply with applicable Privacy Laws in respect of their respective processing of EU and/or UK Customer Personal Data.",
      "confidence": "high"
    },
    {
      "field": "iso_27001",
      "url": "https://www.zuora.com/press-release/zuora-achieves-iso-27001-certification-for-its-enterprise-grade-subscription-billing-commerce-and-finance-solutions/",
      "excerpt": "Zuora Achieves ISO 27001 Certification for Its Enterprise Grade Subscription Billing, Commerce and Finance Solutions",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://knowledgecenter.zuora.com/Entitlements_and_Service_Policies/Service_Policies/CC_Zuora_Support_and_Service_Level_Agreement",
      "excerpt": "The Quarterly Uptime Percentage for the Service will be ninety-nine and nine-tenths percent (99.9%).",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://developer.zuora.com/docs/guides/rate-limits",
      "excerpt": "Production & Central Sandbox API: 50,000 RPM | 2.25M RPH | 27M RPD. Developer Sandbox API: 12,500 RPM | 25,000 RPH | 50,000 RPD. API Sandbox: 2,500 RPM | 5,000 RPH | 10,000 RPD.",
      "confidence": "high"
    },
    {
      "field": "vendor_description",
      "url": "https://www.zuora.com/products/billing/",
      "excerpt": "Recurring billing software built for AI-era monetization",
      "confidence": "high"
    },
    {
      "field": "mcp_server_available",
      "url": "https://docs.zuora.com/en/zuora-platform/system-management/zuora-ai/zuora-mcp-server",
      "excerpt": "Zuora MCP server official product documentation page",
      "confidence": "high"
    },
    {
      "field": "primary_use_cases",
      "url": "https://www.zuora.com/products/billing/",
      "excerpt": "Manage any mix of one-time, recurring, and usage-based charges on the AI-powered subscription billing platform trusted by 1000+ enterprises worldwide",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://developer.zuora.com/v1-api-reference/object-model",
      "excerpt": "The API reference includes endpoints for: Usage tracking and Meters, Payment Methods and Payment Runs, Bill Runs and Billing Preview Runs, Contact and Contact Snapshots, Custom Objects and Custom Object Records, Workflows and Data Queries, Accounting Codes and Journal Entries",
      "confidence": "high"
    },
    {
      "field": "webhooks_supported",
      "url": "https://developer.zuora.com/faq/billing-faq",
      "excerpt": "Zuora supports event-based notifications triggered when specific events occur (e.g., order saved, invoice posted). Setup is available through the UI or API endpoint /v1-api-reference/api/custom-event-triggers/post_eventtrigger.",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://developer.zuora.com/docs/guides/libraries",
      "excerpt": "Zuora client libraries (also known as SDKs) make it easy for developers to start using and integrating with the Zuora REST APIs. Java: com.zuora.sdk:zuora-sdk-java; Node.js: npm i zuora-sdk-js; Python: pip install zuora-sdk; C#: dotnet add package ZuoraSDK",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.vendr.com/marketplace/zuora",
      "excerpt": "Zuora pricing employs a quote-based pricing model, lacking publicly listed prices, which makes upfront cost evaluation challenging as contracts are customized based on projected billing volume and subscriber count.",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://www.zuora.com/zuora-test-drive/",
      "excerpt": "Request a free trial — the confirmation message ('We'll get back to shortly') indicates sales engagement is required rather than immediate self-serve access.",
      "confidence": "high"
    },
    {
      "field": "requires_sales_call",
      "url": "https://www.zuora.com/zuora-test-drive/",
      "excerpt": "The page states 'Request a free trial,' suggesting prospects need to submit information through a form. The confirmation message ('We'll get back to shortly') indicates sales engagement is required.",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://www.zuora.com/about/legal/",
      "excerpt": "The company holds certifications including ISO 27001/27018/27701, SOC 2 Type II, PCI DSS compliance, and GDPR compliance.",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://www.zuora.com/about/legal/",
      "excerpt": "The company holds certifications including ISO 27001/27018/27701, SOC 2 Type II, PCI DSS compliance, and GDPR compliance.",
      "confidence": "high"
    },
    {
      "field": "iso_27001",
      "url": "https://www.zuora.com/about/security/",
      "excerpt": "ISO 27001 – information security management",
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://www.zuora.com/about/security/",
      "excerpt": "PCI DSS Level 1 – secure handling of payment information",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://docs.zuora.com/en/support-and-policies/service-level-agreements/zuora-support-and-service-level-agreement",
      "excerpt": "The Quarterly Uptime Percentage for the Service is ninety-nine and nine-tenths percent (99.9%). Service credits: 10% of monthly fees if uptime falls between 99.0% and 99.9%, or 25% of monthly fees if uptime falls below 99.0%.",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://developer.zuora.com/v1-api-reference/introduction",
      "excerpt": "The API operates across multiple regional environments: US Production: rest.na.zuora.com or rest.zuora.com; EU Production: rest.eu.zuora.com; APAC Production: rest.ap.zuora.com",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://developer.zuora.com/docs/get-started/introduction",
      "excerpt": "Zuora recommends using OAuth 2.0 for all API interactions and using a dedicated user account with the API write access.",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://www.zuora.com/products/billing/",
      "excerpt": "AI-powered subscription billing platform trusted by 1000+ enterprises worldwide",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://developer.zuora.com/rest-api/general-concepts/authentication/",
      "excerpt": "The Zuora API uses bearer tokens for authentication.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://developer.zuora.com/docs/get-started/introduction",
      "excerpt": "The base URL for U.S. production is https://rest.zuora.com. Major version appears in the endpoint path, e.g. https://rest.zuora.com/v1/subscriptions",
      "confidence": "high"
    },
    {
      "field": "versioning_scheme",
      "url": "https://developer.zuora.com/v1-api-reference/api-versions",
      "excerpt": "Developers can override this tenant-level setting on a per-request basis by including a Zuora-Version header in API calls.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://developer.zuora.com/docs/guides/libraries",
      "excerpt": "Zuora client libraries (also known as SDKs) make it easy for developers to start using and integrating with the Zuora REST APIs. Java: com.zuora.sdk:zuora-sdk-java; Node.js: npm i zuora-sdk-js; Python: pip install zuora-sdk; C#: dotnet add package ZuoraSDK",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://docs.zuora.com/en/zuora-platform/system-management/zuora-ai/zuora-mcp-server",
      "excerpt": "Zuora MCP server official product documentation page",
      "confidence": "high"
    },
    {
      "field": "idempotency_supported",
      "url": "https://developer.zuora.com/docs/guides/idempotent-requests",
      "excerpt": "To perform an idempotent request, provide an additional idempotency-key header in the request. Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request.",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://developer.zuora.com/docs/guides/error-handling",
      "excerpt": "When a Zuora API call returns success: false, the response includes: success (boolean), processId (unique identifier), reasons (array of error objects each containing code: 8-digit numeric error code, message: human-readable error description).",
      "confidence": "high"
    },
    {
      "field": "webhook_signing",
      "url": "https://docs.zuora.com/en/zuora-platform/extensibility/workflow/create-and-manage-workflow-definitions/workflow-reference/workflow-task-reference/notifications-callout/example-use-hmac-authentication-in-a-callout-task",
      "excerpt": "HMAC authentication ensures the data integrity and authenticity of callout notifications by using a hash function and a shared secret key between the sender and receiver. HmacSHA256 is a supported hash algorithm.",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://developer.zuora.com/docs/guides/rate-limits",
      "excerpt": "Production & Central Sandbox API rate limit: 50,000 RPM / 2.25M RPH / 27M RPD",
      "confidence": "high"
    },
    {
      "field": "requires_verification",
      "url": "https://developer.zuora.com/docs/get-started/oauth-client-setup-steps",
      "excerpt": "Your Zuora administrator (or you, if an admin) must create OAuth credentials. Access Administration Panel: Navigate to Settings > Administration > Manage Users. Zuora is a B2B enterprise platform requiring a paid subscription to access production APIs.",
      "confidence": "medium"
    },
    {
      "field": "data_retention_policy_url",
      "url": "https://docs.zuora.com/en/support-and-policies/policies/file-retention-policy",
      "excerpt": "The file retention policy outlines Zuora's commitment to responsible data lifecycle management, covering purging for logs and files and archiving for files with financial data and billing information.",
      "confidence": "high"
    },
    {
      "field": "notable_customers",
      "url": "https://www.zuora.com/our-customers/",
      "excerpt": "Named customers listed on Zuora's customers page include DocuSign, Box, GoPro, Zoom, Gainsight, Siemens, DAZN, ABB, Carta, Nutanix, and Mobilize Financial Services.",
      "confidence": "high"
    },
    {
      "field": "auth_docs_url",
      "url": "https://developer.zuora.com/rest-api/general-concepts/authentication/",
      "excerpt": "The Zuora API uses bearer tokens for authentication. All API requests should include a bearer token in an Authorization HTTP header.",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://developer.zuora.com/v1-api-reference/api-versions",
      "excerpt": "The API Reference only showcases the parameters, fields, and behaviors available for the latest API minor version (2025-08-12).",
      "confidence": "high"
    },
    {
      "field": "deprecation_policy_url",
      "url": "https://developer.zuora.com/docs/guides/api-policies/",
      "excerpt": "When backwards compatibility cannot be achieved, Zuora will version the resource with a new representation, and older versions can continue to be used as long as they adhere to Zuora's API deprecation policy.",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://www.zuora.com/resource/zuora-mcp-servers-putting-trusted-finance-information-at-your-fingertips/",
      "excerpt": "The Zuora MCP Server connects Zuora with large language models (LLMs), such as Claude, through the Model Context Protocol (MCP). It enables AI-assisted analysis, reporting, and insights into your Zuora tenant data.",
      "confidence": "high"
    },
    {
      "field": "quickstart_url",
      "url": "https://developer.zuora.com/docs/get-started/introduction",
      "excerpt": "Get started with the Zuora API — language-specific quickstart sections for cURL, Java, Node.js, Python, and C#.",
      "confidence": "high"
    },
    {
      "field": "idempotency_supported",
      "url": "https://developer.zuora.com/docs/guides/idempotent-requests",
      "excerpt": "A created idempotency key is automatically removed from the system 24 hours after it is set.",
      "confidence": "high"
    },
    {
      "field": "webhook_signing",
      "url": "https://developer.zuora.com/v1-api-reference/older-api/tag/HMAC-Signatures/",
      "excerpt": "HMAC Signatures — A Hash-based Message Authentication Code (HMAC) signature is a form of a digital signature where HMAC signatures start with a secret key that is shared between the sender and the recipient.",
      "confidence": "high"
    },
    {
      "field": "webhook_events_url",
      "url": "https://docs.zuora.com/en/zuora-platform/extensibility/events-and-notifications/events-and-notifications-overview",
      "excerpt": "Zuora's Events and Notifications feature enables automatic delivery of notifications triggered by standard, custom, or scheduled events, using customizable and reusable templates.",
      "confidence": "high"
    },
    {
      "field": "rate_limit_window",
      "url": "https://developer.zuora.com/docs/guides/rate-limits",
      "excerpt": "Rate limits are measured in three ways: RPM (requests per minute), RPH (requests per hour), and RPD (requests per day). API: 50,000 RPM for production.",
      "confidence": "high"
    },
    {
      "field": "sla_url",
      "url": "https://knowledgecenter.zuora.com/Editions_and_Service_Policies/Service_policies/CC_Zuora_Support_and_Service_Level_Agreement",
      "excerpt": "The Quarterly Uptime Percentage for the Service is ninety-nine and nine-tenths percent (99.9%). Service credits: 10% of monthly fees if uptime falls between 99.0% and 99.9%, or 25% of monthly fees if uptime falls below 99.0%.",
      "confidence": "high"
    },
    {
      "field": "launched_at",
      "url": "https://en.wikipedia.org/wiki/Zuora",
      "excerpt": "In 2007, K.V. Rao and Cheng Zou (engineers at WebEx) and Tien Tzuo (an early executive at Salesforce) founded Zuora. On 17 December 2007, Zuora announced it had raised $6 million in Series A funding.",
      "confidence": "high"
    },
    {
      "field": "notable_customers",
      "url": "https://www.zuora.com/our-customers/case-studies/zoom/",
      "excerpt": "Zoom used Zuora to scale from freemium to enterprise, achieving 215% YoY growth and automated billing to support 650k+ businesses.",
      "confidence": "high"
    }
  ],
  "fields_not_found": [
    "minimum_commitment",
    "free_tier_details",
    "specific currency list (exact currencies supported not enumerated publicly)",
    "starting_price_usd",
    "price_basis",
    "free_tier_limit",
    "ga_date"
  ],
  "source_confidence": "high",
  "last_verified_at": "2026-06-21T00:00:00.000Z",
  "contribute": {
    "note": "This data is crowd-editable. Suggest corrections or leave a review via these endpoints - no auth required, requests are rate-limited, and every submission is reviewed before it goes live. For a field edit, {field} is any key in this response and a citation is required.",
    "endpoints": [
      {
        "action": "review",
        "label": "Leave a review or comment",
        "method": "POST",
        "url": "https://apio.sh/api/feedback/zuora",
        "example_body": {
          "kind": "review",
          "rating": 5,
          "body": "Your experience with this API…"
        }
      },
      {
        "action": "field_edit",
        "label": "Suggest a correction to a field (cite a source)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/zuora/{field}",
        "example_body": {
          "value": "corrected value",
          "citations": [
            {
              "url": "https://source.example/page",
              "excerpt": "supporting quote"
            }
          ],
          "note": "what changed and why"
        }
      },
      {
        "action": "new_api",
        "label": "Suggest a new API to add (only name is required - send as much as you can cite)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/api",
        "example_body": {
          "value": {
            "name": "Acme Email API",
            "website_url": "https://acme.example",
            "vendor_name": "Acme",
            "categories": [
              "email"
            ],
            "pricing_model": "usage_based",
            "has_published_pricing": true,
            "free_tier_available": true,
            "price_points": [
              {
                "plan": "Pay as you go",
                "item": "1,000 emails",
                "amount_usd": 1,
                "per": "1,000 emails",
                "source_url": "https://acme.example/pricing"
              }
            ],
            "soc2": "type_2",
            "docs_url": "https://docs.acme.example"
          },
          "citations": [
            {
              "url": "https://acme.example/pricing",
              "excerpt": "$1 per 1,000 emails"
            }
          ]
        },
        "value_schema": [
          {
            "field": "name",
            "type": "string",
            "label": "Product name (the only required field)"
          },
          {
            "field": "website_url",
            "type": "string",
            "label": "Marketing website URL"
          },
          {
            "field": "vendor_name",
            "type": "string",
            "label": "Company/vendor name behind the product"
          },
          {
            "field": "vendor_description",
            "type": "string",
            "label": "One-line description, quoted from the vendor"
          },
          {
            "field": "categories",
            "type": "string[]",
            "label": "Category/leaf slugs it belongs to, e.g. [\"email\",\"sms\"]"
          },
          {
            "field": "primary_use_cases",
            "type": "string[]",
            "label": "What it's used for"
          },
          {
            "field": "supported_actions",
            "type": "string[]",
            "label": "Concrete API actions/capabilities"
          },
          {
            "field": "supported_regions",
            "type": "string[]",
            "label": "Countries/regions/data-residency"
          },
          {
            "field": "supported_languages",
            "type": "string[]",
            "label": "Human/spoken languages supported"
          },
          {
            "field": "input_types",
            "type": "string[]",
            "label": "Accepted input types/formats"
          },
          {
            "field": "output_types",
            "type": "string[]",
            "label": "Produced output types/formats"
          },
          {
            "field": "webhooks_supported",
            "type": "bool",
            "label": "Supports webhooks?"
          },
          {
            "field": "sandbox_available",
            "type": "bool",
            "label": "Dedicated sandbox/test mode?"
          },
          {
            "field": "sdk_languages",
            "type": "string[]",
            "label": "Languages with an official SDK"
          },
          {
            "field": "mcp_server_available",
            "type": "bool",
            "label": "Official MCP server?"
          },
          {
            "field": "pricing_model",
            "type": "enum",
            "label": "Pricing model",
            "values": [
              "usage_based",
              "subscription",
              "seat_based",
              "hybrid",
              "contact_sales"
            ]
          },
          {
            "field": "has_published_pricing",
            "type": "bool",
            "label": "Concrete prices published publicly?"
          },
          {
            "field": "free_tier_available",
            "type": "bool",
            "label": "Recurring/perpetual free tier (not a trial)?"
          },
          {
            "field": "free_tier_details",
            "type": "string",
            "label": "What the free tier includes"
          },
          {
            "field": "minimum_commitment",
            "type": "string",
            "label": "Any stated minimum spend/commitment"
          },
          {
            "field": "self_serve_signup",
            "type": "bool",
            "label": "Get an API key without talking to sales?"
          },
          {
            "field": "requires_sales_call",
            "type": "bool",
            "label": "Does going live require sales?"
          },
          {
            "field": "enterprise_plan_available",
            "type": "bool",
            "label": "Named enterprise tier?"
          },
          {
            "field": "starting_price_usd",
            "type": "number",
            "label": "Lowest published paid entry price (USD number)"
          },
          {
            "field": "price_basis",
            "type": "string",
            "label": "Unit the starting price is per, e.g. '1,000 emails'"
          },
          {
            "field": "free_tier_limit",
            "type": "string",
            "label": "Free-tier ceiling in literal terms"
          },
          {
            "field": "price_points",
            "type": "object[]",
            "label": "Structured prices: [{plan,item,amount_usd,amount_percent,per,source_url}]"
          },
          {
            "field": "soc2",
            "type": "enum",
            "label": "SOC 2 status",
            "values": [
              "type_2",
              "type_1",
              "in_progress",
              "none",
              "unknown"
            ]
          },
          {
            "field": "hipaa",
            "type": "bool",
            "label": "HIPAA (e.g. BAA available)?"
          },
          {
            "field": "gdpr",
            "type": "bool",
            "label": "GDPR compliance stated?"
          },
          {
            "field": "iso_27001",
            "type": "bool",
            "label": "ISO 27001 certified?"
          },
          {
            "field": "pci_dss",
            "type": "bool",
            "label": "PCI DSS compliant?"
          },
          {
            "field": "sla_published",
            "type": "bool",
            "label": "Published SLA / uptime commitment?"
          },
          {
            "field": "documented_rate_limits",
            "type": "string",
            "label": "Documented rate limits, quoted"
          },
          {
            "field": "known_restrictions",
            "type": "string[]",
            "label": "Notable documented restrictions/limits"
          },
          {
            "field": "auth_methods",
            "type": "string[]",
            "label": "Auth methods",
            "values": [
              "api_key",
              "oauth2",
              "jwt",
              "basic",
              "hmac_signature",
              "mtls",
              "session"
            ]
          },
          {
            "field": "api_style",
            "type": "enum",
            "label": "Primary API style",
            "values": [
              "rest",
              "graphql",
              "grpc",
              "soap",
              "websocket"
            ]
          },
          {
            "field": "base_url",
            "type": "string",
            "label": "API root/base URL"
          },
          {
            "field": "api_version",
            "type": "string",
            "label": "Current API version string"
          },
          {
            "field": "quickstart_url",
            "type": "string",
            "label": "Quickstart / hello-world URL"
          },
          {
            "field": "docs_url",
            "type": "string",
            "label": "Developer docs URL"
          },
          {
            "field": "api_reference_url",
            "type": "string",
            "label": "API reference URL"
          },
          {
            "field": "openapi_spec_url",
            "type": "string",
            "label": "OpenAPI spec URL"
          },
          {
            "field": "changelog_url",
            "type": "string",
            "label": "Changelog URL"
          },
          {
            "field": "status_page_url",
            "type": "string",
            "label": "Status page URL"
          },
          {
            "field": "notable_customers",
            "type": "string[]",
            "label": "Named public customers"
          },
          {
            "field": "launched_at",
            "type": "string",
            "label": "Launch date (ISO date or year)"
          }
        ]
      },
      {
        "action": "token",
        "label": "Optional - raise your rate limit",
        "method": "GET",
        "url": "https://apio.sh/api/feedback/token"
      }
    ]
  }
}