# Batch upsert Withholding Tax rate rows, applying the write-time gates before any row lands. `BatchUpsertWithholdingTaxRates` `POST /api/withholdingtax/rates/{scope}/{code}/$batchUpsert` - [OpenAPI fragment](https://www.lusid.com/docs/api/lusid/endpoints/withholding-tax/BatchUpsertWithholdingTaxRates.json) - [Rendered page](https://www.lusid.com/docs/api/lusid/endpoints/withholding-tax/BatchUpsertWithholdingTaxRates) Row identity is the series identifiers plus effectiveAt; a rate is superseded by loading a row with a later effectiveAt for the same series identifiers. One batch carries one rule source, so a feed mixing rows from a source with rows that apply at every source is loaded in two calls. ## Referenced schemas - [UpsertWithholdingTaxRateRequest](https://www.lusid.com/docs/api/lusid/schemas/UpsertWithholdingTaxRateRequest.txt) - [BatchUpsertWithholdingTaxRatesResponse](https://www.lusid.com/docs/api/lusid/schemas/BatchUpsertWithholdingTaxRatesResponse.txt) [< Withholding Tax](https://www.lusid.com/docs/api/lusid/endpoints/withholding-tax/llms.txt)