# 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 Customer Cost Codes API version: 1.0.0 extends: openapi/optimizely-customer-cost-codes-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: 11 - target: $.paths['/api/v1/admin/CustomerCostCodes'].get update: x-apievangelist-phrasing: intent: List customer cost codes effect: read questions: - Which cost codes are set up for my B2B customers? - Can I list only active cost codes with a filter? instructions: - text: List all customer cost codes. - text: List cost codes matching {filter}. slots: filter: query.$filter method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerCostCodes'].post update: x-apievangelist-phrasing: intent: Create a customer cost code effect: write questions: - How do I add a cost code that a customer can charge orders to? - Can a new cost code be created inactive? instructions: - text: Create cost code {costCode} for customer {customerId} described as {description}. slots: costCode: requestBody.costCode customerId: requestBody.customerId description: requestBody.description - text: Add cost code {costCode} with active flag {isActive}. slots: costCode: requestBody.costCode isActive: requestBody.isActive method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerCostCodes({id})'].get update: x-apievangelist-phrasing: intent: Get a customer cost code effect: read questions: - What customer and description belong to a given cost code record? - Can I select only certain fields of one cost code? instructions: - text: Get customer cost code {id}. slots: id: path.id - text: Fetch cost code {id} returning only {select}. slots: id: path.id select: query.$select method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerCostCodes({id})'].put update: x-apievangelist-phrasing: intent: Replace a customer cost code effect: write questions: - How do I overwrite a cost code record completely? - Can I resend every field to replace an existing customer cost code? instructions: - text: Replace cost code record {id} with code {costCode} and description {description}. slots: id: path.id costCode: requestBody.costCode description: requestBody.description - text: Overwrite the full cost code entry {id} for customer {customerId}. slots: id: path.id customerId: requestBody.customerId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerCostCodes({id})'].delete update: x-apievangelist-phrasing: intent: Delete one customer cost code effect: destructive questions: - How do I remove a single cost code by id? - Can a cost code delete be protected with an If-Match ETag? instructions: - text: Delete customer cost code {id}. slots: id: path.id - text: Delete cost code {id} only if its ETag still matches {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerCostCodes({id})'].patch update: x-apievangelist-phrasing: intent: Update fields on a customer cost code effect: write questions: - Can I deactivate a cost code without resending the whole record? - How do I change just the description of a cost code? instructions: - text: Set active flag on cost code {id} to {isActive}. slots: id: path.id isActive: requestBody.isActive - text: Change the description of cost code {id} to {description}. slots: id: path.id description: requestBody.description method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerCostCodes/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get default values for a new cost code effect: read questions: - What defaults does a new customer cost code start with? - Is there a blank cost code template to pre-fill a form? instructions: - text: Get the default template for a customer cost code. - text: Fetch an empty cost code with default values. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerCostCodes/Default.archive'].post update: x-apievangelist-phrasing: intent: Archive cost codes via the archive action effect: write questions: - Can I archive a batch of cost codes instead of deleting them? - Which POST action archives customer cost codes by id? instructions: - text: Archive customer cost codes {ids} with the POST archive action. slots: ids: query.ids - text: Run Default.archive on cost codes {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/customercostcodes/archive'].delete update: x-apievangelist-phrasing: intent: Archive cost codes via the DELETE archive route effect: destructive questions: - Is there a DELETE-verb route that archives cost codes? - How do I archive cost codes through the customercostcodes/archive endpoint? instructions: - text: Call the DELETE archive route for cost codes {ids}. slots: ids: query.ids - text: Archive cost codes {ids} via the customercostcodes/archive route. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/customercostcodes/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete customer cost codes effect: destructive questions: - Can I permanently delete many cost codes at once? - How do I bulk-remove customer cost codes by a list of ids? instructions: - text: Bulk delete customer cost codes {ids}. slots: ids: query.ids - text: Permanently remove every cost code in {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/customercostcodes({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a cost code effect: read questions: - What custom property values are attached to a cost code? - Can I read one custom attribute stored on a customer cost code? instructions: - text: Get custom property {custompropertyKey} on cost code {key}. slots: key: path.key custompropertyKey: path.custompropertyKey - text: Read extra attribute {custompropertyKey} of customer cost code {key}. slots: key: path.key custompropertyKey: path.custompropertyKey method: generated generated: '2026-09-26'