---
title: "Replace Billing Parameters"
method: PUT
path: "/api/v1/internal/billing/settings"
tags: ["internal", "internal-billing"]
---

# Replace Billing Parameters

`PUT /api/v1/internal/billing/settings`

## Request body

- BillingParametersUpdateRequest — A complete replacement of the MAIA-owned commercial parameters. ``auto_reload_threshold_usd`` is read by nothing, because each workspace sets its own threshold. It is optional so the page can stop sending it before the field is removed.
  - `settings_version` integer, required
  - `monthly_included_allowance_usd` union, required
    - number
    - string
  - `discovery_allowance_refresh_usd` union, required
    - number
    - string
  - `discovery_joining_grant_usd` union, required
    - number
    - string
  - `customer_rates` CustomerRateParameter[], required
    - `resource_key` 'batchdata_skip_trace' | 'batchdata_property_lookup' | 'exa_search' | 'brightdata_unlocker' | 'enformion_person_search' | 'mapbox_forward_geocoding' | 'scrubby_email_verification', required
    - `customer_usd_per_unit` union, required
      - number
      - string
  - `model_usage_markup` union, required
    - number
    - string
  - `reload_bundles_usd` union[], required
    - union
      - number
      - string
  - `auto_reload_threshold_usd` union
    - number
    - string
  - `auto_reload_monthly_cap_usd` union, required
    - number
    - string

## Response `200`

Successful Response

- BillingParametersResponse
  - `settings_version` integer, required
  - `monthly_included_allowance_usd` string, nullable, required
  - `discovery_allowance_refresh_usd` string, nullable, required
  - `discovery_joining_grant_usd` string, nullable, required
  - `customer_rate_card_version` integer, required
  - `customer_rates` CustomerRateParameterResponse[], required
    - `resource_key` 'batchdata_skip_trace' | 'batchdata_property_lookup' | 'exa_search' | 'brightdata_unlocker' | 'enformion_person_search' | 'mapbox_forward_geocoding' | 'scrubby_email_verification', required
    - `customer_usd_per_unit` string, nullable, required
    - `maia_direct_usd_per_unit` string, nullable, required
  - `model_usage_markup` string, nullable, required
  - `reload_bundles_usd` string[], required
  - `auto_reload_threshold_usd` string, nullable, required
  - `auto_reload_monthly_cap_usd` string, nullable, required

## Other responses

- `409` — The submitted settings document is stale.
- `422` — Validation Error

## Changes

- **2026-09-16** `95495ef535bc` — 1 breaking, 2 info
  - added the new required request property `discovery_joining_grant_usd`
  - the request property `auto_reload_threshold_usd` became optional
  - added the required property `discovery_joining_grant_usd` to the response with the `200` status
- **2026-09-15** `499d0b94aa94` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/maia-analytics/apis/maia-api/changes/api/v1/internal/billing/settings/put.md)

---

[API](https://skmtc.dev/maia-analytics/apis/maia-api.md) · [All operations](https://skmtc.dev/maia-analytics/apis/maia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/maia-analytics/apis/maia-api/revisions/8dc47faf0418?raw)
