Skip to main content
Glama

update_product_rate_plan_charge

Modify pricing, billing cycles, or attributes of subscription charges in Rebillia's billing system. Send only the fields you need to change; the tool handles merging with existing data.

Instructions

Update a product rate plan charge. PUT /product-rateplan-charges/{chargeId}. You can send only the fields you want to change (e.g. chargeTier with new price); the tool fetches the current charge and merges your input so the backend receives all required fields. Validates in MCP before calling the API. Optional inputs: name, chargeType, chargeModel, billCycleType, category, chargeTier (currency, price as dollars e.g. 22.87 or cents e.g. 2287), taxable, weight, endDateCondition, billingPeriod, billingTiming, billingPeriodAlignment, specificBillingPeriod, billCycleDay (1-31 when billCycleType specificDayOfMonth), weeklyBillCycleDay (when specificDayOfWeek), monthlyBillCycleYear (1-12 when specificMonthOfYear). When chargeType is recurring, billingPeriod, specificBillingPeriod, billingPeriodAlignment, billingTiming are required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chargeIdYesProduct rate plan charge ID (required)
nameNoCharge name
chargeTypeNooneTime, recurring, or usage
chargeModelNoflatFeePricing, perUnitPricing, tieredPricing, or volumePricing
billCycleTypeNochargeTriggerDay, defaultFromCustomer, specificDayOfMonth, specificDayOfWeek, specificMonthOfYear, subscriptionStartDay, subscriptionFreeTrial
categoryNophysical or digital
chargeTierNoArray of {currency, price (dollars e.g. 22.87 or cents e.g. 2287), optional startingUnit, endingUnit, priceFormat, tier}. To update only price, send this and chargeId; other fields are filled from current charge.
taxableNoWhether taxable
weightNoWeight (integer)
descriptionNoDescription
endDateConditionNosubscriptionEnd or fixedPeriod
billingPeriodNoday, week, month, or year (required if chargeType recurring)
billingTimingNoinAdvance or inArrears (required if chargeType recurring)
billingPeriodAlignmentNoalignToCharge, alignToSubscriptionStart, alignToTermStart (required if chargeType recurring)
specificBillingPeriodNoRequired when chargeType recurring
billCycleDayNo1-31 when billCycleType is specificDayOfMonth
weeklyBillCycleDayNosunday, monday, tuesday, wednesday, thursday, friday, saturday when billCycleType is specificDayOfWeek
monthlyBillCycleYearNo1-12 when billCycleType is specificMonthOfYear
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and effectively discloses key behavioral traits: it explains the partial update mechanism ('fetches the current charge and merges your input'), validation process, and conditional requirements for recurring charges. However, it lacks details on error handling or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and update mechanism, but becomes verbose with a lengthy list of optional parameters that largely repeat schema information. Some sentences, like the validation note, add value, but the parameter enumeration could be more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 18 parameters and no annotations or output schema, the description is moderately complete: it covers the update process, partial update behavior, and conditional requirements. However, it lacks details on permissions, side effects, or return values, leaving gaps in contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds some value by clarifying the partial update behavior for chargeTier and listing optional inputs with examples (e.g., 'price as dollars e.g. 22.87 or cents e.g. 2287'), but does not significantly enhance parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Update a product rate plan charge') and resource ('product-rateplan-charges/{chargeId}'), distinguishing it from sibling tools like 'create_product_rate_plan_charge' or 'delete_product_rate_plan_charge' by focusing on modification rather than creation or deletion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by mentioning partial updates ('You can send only the fields you want to change') and validation ('Validates in MCP before calling the API'), but does not explicitly state when to use this tool versus alternatives like 'update_product_rate_plan' or provide prerequisites beyond the required chargeId.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rhinosaas/rebillia-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server