listPlans

List plans

​

Lists your plans, grouped by product; each product's plans come in upgrade-path order (plans in no upgrade path last), then oldest first. Filter by product with productId or externalProductId. Plans made privately for a single order's custom pricing aren't listed.

Query Parameters

  • Only this product's plans, by Spondo Billing ID.

  • Only this product's plans, by your ID for the product. Ignored when productId is set.

  • true: archived plans as well as active ones. false: only active plans.

  • How many records to return, 1 to 100.

  • How many records to skip.

Responses

  • application/json
  • application/json
  • application/json
Request Example for get/plans
curl 'https://billing.getspondo.com/api/v1/plans?productId=prod_7Hk2LmQ9xR4tVb1N' \
  --header "Authorization: Bearer $SPONDO_API_KEY"

{
  "data": [
    {
      "id": "plan_4Fd8sK1mW9qZ2xCv",
      "productId": "prod_7Hk2LmQ9xR4tVb1N",
      "name": "Growth",
      "externalId": "growth-monthly",
      "supportedCurrencies": [
        "USD"
      ],
      "isDefault": true,
      "status": "active",
      "upgradePathOrder": 1,
      "archivedAt": null,
      "createdAt": "2026-10-01T09:42:00.000Z",
      "updatedAt": "2026-10-01T09:42:00.000Z",
      "attributes": [
        {
          "productAttributeId": "0b6f5c2e-3d41-4a8e-9f27-6c1d8e4b7a10",
          "name": "Platform fee",
          "active": true,
          "pricing": {
            "pricingType": "RecurringPerUnit",
            "billingFrequency": "Monthly",
            "billingType": "Advance",
            "pricePoints": [
              {
                "currency": "USD",
                "unitPrice": 9900
              }
            ],
            "chargeType": "recurring",
            "pricingModel": "perUnit"
          },
          "creditBenefits": [
            {
              "creditsCurrencyId": null,
              "recipient": "organization",
              "isInfiniteTotal": false,
              "allocationCadence": "monthly",
              "creditGrantTiming": null,
              "overageUnitPrice": 10,
              "overageUnitPrices": null,
              "rolloverAmount": null,
              "rolloverDuration": null,
              "rolloverDurationUnit": null,
              "id": "e2d7b9a4-6c13-4f8e-b5a0-7d91c3f28e64",
              "amount": 500
            }
          ]
        },
        {
          "productAttributeId": "5e9a2d47-81c3-4f6b-a0d2-3b7e9c1f4a58",
          "name": "Documents",
          "active": true,
          "pricing": {
            "pricingType": "UsagePrepaidCredits",
            "eventName": "document_uploaded",
            "creditCost": 1,
            "pricingInput": {
              "path": "pages"
            },
            "billingFrequency": "Monthly",
            "billingType": "Arrears",
            "chargeType": "usage",
            "pricingModel": "prepaidCredits"
          },
          "creditBenefits": []
        },
        {
          "productAttributeId": "a3c81f6d-27e9-4b05-8d4a-91f2e6b0c7d3",
          "name": "Contract reviews",
          "active": true,
          "pricing": {
            "pricingType": "UsagePrepaidCredits",
            "eventName": "contract_reviewed",
            "creditCost": 25,
            "billingFrequency": "Monthly",
            "billingType": "Arrears",
            "chargeType": "usage",
            "pricingModel": "prepaidCredits"
          },
          "creditBenefits": []
        }
      ]
    }
  ],
  "pagination": {
    "limit": 10,
    "offset": 0,
    "total": 1,
    "hasMore": false
  }
}