# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Admin API V1 Carrier Zone Rates API version: 1.0.0 extends: openapi/optimizely-carrier-zone-rates-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 9 - target: $.paths['/api/v1/admin/CarrierZoneRates'].get update: x-apievangelist-phrasing: intent: List carrier zone shipping rates effect: read questions: - How do I see the weight-based shipping rates for each carrier zone? - Can I filter carrier zone rates to a single zone? instructions: - text: List all carrier zone rates. - text: List carrier zone rates matching {filter}, sorted by {orderby}. slots: filter: query.$filter orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CarrierZoneRates'].post update: x-apievangelist-phrasing: intent: Add a weight rate to a carrier zone effect: write questions: - How do I add a shipping rate for a weight break in a carrier zone? - What do I need to create a new carrier zone rate? instructions: - text: Create a rate of {rate} for weight {weight} in carrier zone {carrierZoneId}. slots: rate: requestBody.rate weight: requestBody.weight carrierZoneId: requestBody.carrierZoneId - text: Add a new weight break {weight} to zone {carrierZoneId}. slots: weight: requestBody.weight carrierZoneId: requestBody.carrierZoneId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CarrierZoneRates({id})'].get update: x-apievangelist-phrasing: intent: Get one carrier zone rate effect: read questions: - How do I look up a single carrier zone rate by its ID? - What weight and price does a specific zone rate record hold? instructions: - text: Get carrier zone rate {id}. slots: id: path.id - text: Show the weight and rate for zone rate {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CarrierZoneRates({id})'].put update: x-apievangelist-phrasing: intent: Replace a carrier zone rate effect: write questions: - How do I overwrite a whole carrier zone rate record? - Is there a way to fully replace a zone rate instead of patching it? instructions: - text: Replace zone rate {id} with weight {weight} and rate {rate} in zone {carrierZoneId}. slots: id: path.id weight: requestBody.weight rate: requestBody.rate carrierZoneId: requestBody.carrierZoneId - text: Overwrite carrier zone rate {id} with a full new record. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CarrierZoneRates({id})'].delete update: x-apievangelist-phrasing: intent: Delete a carrier zone rate effect: destructive questions: - How do I remove one weight rate from a carrier zone? - Can I delete a zone rate only if its ETag still matches? instructions: - text: Delete carrier zone rate {id}. slots: id: path.id - text: Remove zone rate {id} if its ETag is still {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CarrierZoneRates({id})'].patch update: x-apievangelist-phrasing: intent: Change the price on a carrier zone rate effect: write questions: - How do I raise the shipping price on an existing zone rate? - Can I change just the weight break of a carrier zone rate? instructions: - text: Set the rate on carrier zone rate {id} to {rate}. slots: id: path.id rate: requestBody.rate - text: Update the weight of zone rate {id} to {weight}. slots: id: path.id weight: requestBody.weight method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CarrierZoneRates/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get a blank carrier zone rate template effect: read questions: - What default values does a new carrier zone rate start with? - Can I fetch an empty zone rate template before creating one? instructions: - text: Fetch the default carrier zone rate template. - text: Show me the starting values for a new zone rate. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/carrierzonerates/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete carrier zone rates effect: destructive questions: - How do I delete several carrier zone rates at once? - Can I clear out a batch of zone rates by ID? instructions: - text: Bulk delete the carrier zone rates with IDs {ids}. slots: ids: query.ids - text: 'Remove these zone rates in one call: {ids}.' slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/carrierzonerates({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a carrier zone rate effect: read questions: - How do I read a custom property stored on a carrier zone rate? - Can I fetch one extra field value from a zone rate? instructions: - text: Get custom property {custompropertyKey} on carrier zone rate {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Show the custom property {custompropertyKey} of zone rate {key}. slots: custompropertyKey: path.custompropertyKey key: path.key method: generated generated: '2026-09-26'