Skip to main content
POST
/
plans
/
{plan_id}
/
versions
Create plan version
curl --request POST \
  --url https://api.withorb.com/v1/plans/{plan_id}/versions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "add_prices": [
    {
      "price": {
        "model_type": "unit",
        "unit_config": {
          "unit_amount": "<string>",
          "scaling_factor": 123
        },
        "metadata": {},
        "external_price_id": "<string>",
        "name": "Annual fee",
        "dimensional_price_configuration": {
          "dimensional_price_group_id": "<string>",
          "external_dimensional_price_group_id": "<string>",
          "dimension_values": [
            "<any>"
          ]
        },
        "billable_metric_id": "<string>",
        "item_id": "<string>",
        "billed_in_advance": true,
        "fixed_price_quantity": 123,
        "invoice_grouping_key": "<string>",
        "cadence": "annual",
        "billing_cycle_configuration": {
          "duration": 123,
          "duration_unit": "day"
        },
        "invoicing_cycle_configuration": {
          "duration": 123,
          "duration_unit": "day"
        },
        "conversion_rate": 123,
        "conversion_rate_config": {
          "conversion_rate_type": "unit",
          "unit_config": {}
        },
        "currency": "<string>",
        "reference_id": "<string>"
      },
      "allocation_price": {
        "currency": "USD",
        "amount": "10.00",
        "cadence": "monthly",
        "expires_at_end_of_cadence": true,
        "custom_expiration": {
          "duration": 123,
          "duration_unit": "day"
        }
      },
      "plan_phase_order": 123
    }
  ],
  "remove_prices": [
    {
      "price_id": "<string>",
      "plan_phase_order": 123
    }
  ],
  "replace_prices": [
    {
      "price": {
        "model_type": "unit",
        "unit_config": {
          "unit_amount": "<string>",
          "scaling_factor": 123
        },
        "metadata": {},
        "external_price_id": "<string>",
        "name": "Annual fee",
        "dimensional_price_configuration": {
          "dimensional_price_group_id": "<string>",
          "external_dimensional_price_group_id": "<string>",
          "dimension_values": [
            "<any>"
          ]
        },
        "billable_metric_id": "<string>",
        "item_id": "<string>",
        "billed_in_advance": true,
        "fixed_price_quantity": 123,
        "invoice_grouping_key": "<string>",
        "cadence": "annual",
        "billing_cycle_configuration": {
          "duration": 123,
          "duration_unit": "day"
        },
        "invoicing_cycle_configuration": {
          "duration": 123,
          "duration_unit": "day"
        },
        "conversion_rate": 123,
        "conversion_rate_config": {
          "conversion_rate_type": "unit",
          "unit_config": {}
        },
        "currency": "<string>",
        "reference_id": "<string>"
      },
      "allocation_price": {
        "currency": "USD",
        "amount": "10.00",
        "cadence": "monthly",
        "expires_at_end_of_cadence": true,
        "custom_expiration": {
          "duration": 123,
          "duration_unit": "day"
        }
      },
      "replaces_price_id": "<string>",
      "plan_phase_order": 123
    }
  ],
  "add_adjustments": [
    {
      "adjustment": {
        "applies_to_price_ids": [
          "price_1",
          "price_2"
        ],
        "applies_to_item_ids": [
          "item_1",
          "item_2"
        ],
        "applies_to_all": true,
        "filters": [
          {
            "field": "price_id",
            "operator": "includes",
            "values": [
              "<any>"
            ]
          }
        ],
        "currency": [
          "USD",
          "JPY",
          "credits"
        ],
        "price_type": "usage",
        "is_invoice_level": true,
        "adjustment_type": "percentage_discount",
        "percentage_discount": 123
      },
      "plan_phase_order": 123
    }
  ],
  "remove_adjustments": [
    {
      "adjustment_id": "<string>",
      "plan_phase_order": 123
    }
  ],
  "replace_adjustments": [
    {
      "adjustment": {
        "applies_to_price_ids": [
          "price_1",
          "price_2"
        ],
        "applies_to_item_ids": [
          "item_1",
          "item_2"
        ],
        "applies_to_all": true,
        "filters": [
          {
            "field": "price_id",
            "operator": "includes",
            "values": [
              "<any>"
            ]
          }
        ],
        "currency": [
          "USD",
          "JPY",
          "credits"
        ],
        "price_type": "usage",
        "is_invoice_level": true,
        "adjustment_type": "percentage_discount",
        "percentage_discount": 123
      },
      "replaces_adjustment_id": "<string>",
      "plan_phase_order": 123
    }
  ],
  "set_as_default": true,
  "version": 123
}'
{
  "created_at": "2023-11-07T05:31:56Z",
  "version": 123,
  "plan_phases": [
    {
      "id": "<string>",
      "description": "<string>",
      "duration": 123,
      "duration_unit": "daily",
      "name": "<string>",
      "order": 123
    }
  ],
  "prices": [
    {
      "model_type": "unit",
      "unit_config": {
        "unit_amount": "<string>",
        "scaling_factor": 123
      },
      "metadata": {},
      "id": "<string>",
      "name": "<string>",
      "external_price_id": "<string>",
      "replaces_price_id": "<string>",
      "price_type": "usage_price",
      "created_at": "2023-11-07T05:31:56Z",
      "cadence": "one_time",
      "billing_mode": "in_advance",
      "billing_cycle_configuration": {
        "duration": 123,
        "duration_unit": "day"
      },
      "invoicing_cycle_configuration": {
        "duration": 123,
        "duration_unit": "day"
      },
      "billable_metric": {
        "id": "<string>"
      },
      "dimensional_price_configuration": {
        "dimensional_price_group_id": "<string>",
        "dimension_values": [
          "<string>"
        ]
      },
      "fixed_price_quantity": 123,
      "plan_phase_order": 123,
      "currency": "<string>",
      "conversion_rate": 123,
      "conversion_rate_config": {
        "conversion_rate_type": "unit",
        "unit_config": {
          "unit_amount": "<string>"
        }
      },
      "item": {
        "id": "<string>",
        "name": "<string>"
      },
      "credit_allocation": {
        "currency": "<string>",
        "allows_rollover": true,
        "custom_expiration": {
          "duration": 123,
          "duration_unit": "day"
        }
      },
      "composite_price_filters": [
        {
          "field": "<any>",
          "operator": "<any>",
          "values": "<any>"
        }
      ],
      "discount": {
        "discount_type": "percentage",
        "applies_to_price_ids": [
          "h74gfhdjvn7ujokd",
          "7hfgtgjnbvc3ujkl"
        ],
        "filters": [
          {
            "field": "<any>",
            "operator": "<any>",
            "values": "<any>"
          }
        ],
        "reason": "<string>",
        "percentage_discount": 0.15
      },
      "minimum": {
        "minimum_amount": "<string>",
        "filters": [
          {
            "field": "<any>",
            "operator": "<any>",
            "values": "<any>"
          }
        ],
        "applies_to_price_ids": [
          "<string>"
        ]
      },
      "minimum_amount": "<string>",
      "maximum": {
        "maximum_amount": "<string>",
        "filters": [
          {
            "field": "<any>",
            "operator": "<any>",
            "values": "<any>"
          }
        ],
        "applies_to_price_ids": [
          "<string>"
        ]
      },
      "maximum_amount": "<string>"
    }
  ],
  "adjustments": [
    {
      "id": "<string>",
      "is_invoice_level": true,
      "filters": [
        {
          "field": "<any>",
          "operator": "<any>",
          "values": "<any>"
        }
      ],
      "applies_to_price_ids": [
        "<string>"
      ],
      "reason": "<string>",
      "replaces_adjustment_id": "<string>",
      "adjustment_type": "usage_discount",
      "usage_discount": 123,
      "plan_phase_order": 123
    }
  ]
}

Authorizations

Authorization
string
header
required

API Keys can be issued in the Orb's web application.

Path Parameters

plan_id
string | null
required

Body

application/json
version
integer
required

New version number.

add_prices
AddPlanPriceParams · object[] | null

Additional prices to be added to the plan.

remove_prices
RemovePlanPriceParams · object[] | null

Prices to be removed from the plan.

replace_prices
ReplacePlanPriceParams · object[] | null

Prices to be replaced with additional prices on the plan.

add_adjustments
AddPlanAdjustmentParams · object[] | null

Additional adjustments to be added to the plan.

remove_adjustments
RemovePlanAdjustmentParams · object[] | null

Adjustments to be removed from the plan.

replace_adjustments
ReplacePlanAdjustmentParams · object[] | null

Adjustments to be replaced with additional adjustments on the plan.

set_as_default
boolean | null

Set this new plan version as the default

Response

Created

The PlanVersion resource represents the prices and adjustments present on a specific version of a plan.

created_at
string<date-time>
required
version
integer
required
plan_phases
PlanVersionPhase · object[] | null
required
prices
Prices · array
required

Prices for this plan. If the plan has phases, this includes prices across all phases of the plan.

  • UnitPrice
  • TieredPrice
  • BulkPrice
  • PackagePrice
  • MatrixPrice
  • ThresholdTotalAmountPrice
  • TieredPackagePrice
  • TieredWithMinimumPrice
  • GroupedTieredPrice
  • TieredPackageWithMinimumPrice
  • PackageWithAllocationPrice
  • UnitWithPercentPrice
  • MatrixWithAllocationPrice
  • TieredWithProrationPrice
  • UnitWithProrationPrice
  • GroupedAllocationPrice
  • BulkWithProrationPrice
  • GroupedWithProratedMinimumPrice
  • GroupedWithMeteredMinimumPrice
  • GroupedWithMinMaxThresholdsPrice
  • MatrixWithDisplayNamePrice
  • GroupedTieredPackagePrice
  • MaxGroupTieredPackagePrice
  • ScalableMatrixWithUnitPricingPrice
  • ScalableMatrixWithTieredPricingPrice
  • CumulativeGroupedBulkPrice
  • MinimumCompositePrice
adjustments
Adjustments · array
required

Adjustments for this plan. If the plan has phases, this includes adjustments across all phases of the plan.

  • PlanPhaseUsageDiscountAdjustment
  • PlanPhaseAmountDiscountAdjustment
  • PlanPhasePercentageDiscountAdjustment
  • PlanPhaseMinimumAdjustment
  • PlanPhaseMaximumAdjustment
I