{
  "manifestVersion": 1,
  "process": {
    "slug": "send-an-invoice",
    "title": "Send an invoice",
    "phase": "sales",
    "description": "Create and send an invoice to a customer for services rendered. Stripe is the canonical route; any payments provider with invoicing works."
  },
  "manifestUrl": "https://ultrametric.ai/productarena/processes/send-an-invoice/manifest.json",
  "steps": [
    {
      "id": "n1",
      "title": "Look up or create customer",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [
        {
          "method": "GET /v1/customers?email={email}",
          "type": "rest",
          "description": "Search for existing customer"
        },
        {
          "method": "POST /v1/customers",
          "type": "rest",
          "description": "Create customer if not found"
        }
      ],
      "vendorOptions": [
        {
          "vendor": "stripe",
          "name": "Stripe",
          "productId": "stripe",
          "arena": "payments",
          "agentReady": 88.9,
          "mcpEndpoint": "https://mcp.stripe.com/",
          "paProductUrl": "https://ultrametric.ai/productarena/arena/payments/product/stripe"
        }
      ],
      "approvalRequired": true,
      "riskLevel": null,
      "estimatedMinutes": 2,
      "async": false
    },
    {
      "id": "n2",
      "title": "Create invoice with line items",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [
        {
          "method": "POST /v1/invoices",
          "type": "rest",
          "description": "Create invoice"
        },
        {
          "method": "POST /v1/invoiceitems",
          "type": "rest",
          "description": "Add line items"
        }
      ],
      "vendorOptions": [
        {
          "vendor": "stripe",
          "name": "Stripe",
          "productId": "stripe",
          "arena": "payments",
          "agentReady": 88.9,
          "mcpEndpoint": "https://mcp.stripe.com/",
          "paProductUrl": "https://ultrametric.ai/productarena/arena/payments/product/stripe"
        }
      ],
      "approvalRequired": true,
      "riskLevel": "medium",
      "estimatedMinutes": 3,
      "async": false
    },
    {
      "id": "n3",
      "title": "Send invoice",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [
        {
          "method": "POST /v1/invoices/{id}/send",
          "type": "rest",
          "description": "Send invoice to customer"
        }
      ],
      "vendorOptions": [
        {
          "vendor": "stripe",
          "name": "Stripe",
          "productId": "stripe",
          "arena": "payments",
          "agentReady": 88.9,
          "mcpEndpoint": "https://mcp.stripe.com/",
          "paProductUrl": "https://ultrametric.ai/productarena/arena/payments/product/stripe"
        }
      ],
      "approvalRequired": true,
      "riskLevel": "medium",
      "estimatedMinutes": 1,
      "async": false
    },
    {
      "id": "n4",
      "title": "Track payment status",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [
        {
          "method": "GET /v1/invoices/{id}",
          "type": "rest",
          "description": "Check invoice status"
        }
      ],
      "vendorOptions": [
        {
          "vendor": "stripe",
          "name": "Stripe",
          "productId": "stripe",
          "arena": "payments",
          "agentReady": 88.9,
          "mcpEndpoint": "https://mcp.stripe.com/",
          "paProductUrl": "https://ultrametric.ai/productarena/arena/payments/product/stripe"
        }
      ],
      "approvalRequired": false,
      "riskLevel": null,
      "estimatedMinutes": 1,
      "async": false
    }
  ],
  "provenance": {
    "source": "productarena",
    "url": "https://ultrametric.ai/productarena",
    "generatedFrom": "data/processes.json + data/process-chains.json (the ProductArena founder-process corpus), resolved against live arena leaderboards at build time. Regenerate by refetching this manifest URL — it always reflects the currently deployed data, not a pinned data commit.",
    "license": "ProductArena Data License (DATA-LICENSE in github.com/ultrametricai/productarena): querying and quoting with attribution to \"ProductArena by Ultrametric Inc\" is fine; bulk redistribution or use to build competing datasets requires written permission."
  }
}