# 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 Badge Products API version: 1.0.0 extends: openapi/optimizely-badge-products-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/BadgeProducts'].get update: x-apievangelist-phrasing: intent: List badge-to-product assignments effect: read questions: - How do I see which products have which badges assigned? - Can I filter badge assignments to only the manually assigned ones? instructions: - text: List badge product assignments matching {filter}. slots: filter: query.$filter - text: Show the first {top} badge assignments. slots: top: query.$top method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/BadgeProducts'].post update: x-apievangelist-phrasing: intent: Assign a badge to a product effect: write questions: - Can I put a badge like 'New' on a product through the admin API? - Is there a flag to record that a badge was assigned manually? instructions: - text: Assign badge {badgeId} to product {productId}. slots: badgeId: requestBody.badgeId productId: requestBody.productId - text: Manually attach badge {badgeId} to product {productId} with manual flag {manuallyAssigned}. slots: badgeId: requestBody.badgeId productId: requestBody.productId manuallyAssigned: requestBody.manuallyAssigned method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/BadgeProducts({id})'].get update: x-apievangelist-phrasing: intent: Get one badge assignment effect: read questions: - Where do I look up a single badge-product assignment by its id? - Which badge and product does a given assignment record link? instructions: - text: Get badge assignment {id}. slots: id: path.id - text: Show the badge and product on assignment record {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/BadgeProducts({id})'].put update: x-apievangelist-phrasing: intent: Replace a badge assignment effect: write questions: - How do I fully overwrite a badge-product assignment record? - Can I swap the whole assignment to a different badge and product in one replace? instructions: - text: Replace badge assignment {id} with badge {badgeId} on product {productId}. slots: id: path.id badgeId: requestBody.badgeId productId: requestBody.productId - text: Overwrite the entire badge assignment record {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/BadgeProducts({id})'].delete update: x-apievangelist-phrasing: intent: Remove a badge from a product effect: destructive questions: - Can I take a badge off a product by deleting its assignment? - Is an If-Match ETag supported when removing a badge assignment? instructions: - text: Delete badge assignment {id}. slots: id: path.id - text: Remove badge assignment {id} only if ETag {etag} matches. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/BadgeProducts({id})'].patch update: x-apievangelist-phrasing: intent: Update fields on a badge assignment effect: write questions: - Can I change just the manual-assignment flag on an existing badge assignment? - How do I point an existing assignment at a different badge without replacing it? instructions: - text: Set the manually assigned flag on badge assignment {id} to {manuallyAssigned}. slots: id: path.id manuallyAssigned: requestBody.manuallyAssigned - text: Change assignment {id} to use badge {badgeId}. slots: id: path.id badgeId: requestBody.badgeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/BadgeProducts/Default.Default()'].get update: x-apievangelist-phrasing: intent: Call the Default function on badge products effect: read questions: - What does the Default function on the BadgeProducts set return? - Where do I get the default badge product entity? instructions: - text: Call the Default function on BadgeProducts. - text: Fetch the default badge product entity. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/badgeproducts/delete'].delete update: x-apievangelist-phrasing: intent: Bulk remove badge assignments effect: destructive questions: - Can I remove many badge assignments at once by id? - Is there a bulk way to strip badges from a batch of products? instructions: - text: Bulk delete badge assignments {ids}. slots: ids: query.ids - text: Remove every badge assignment in the id list {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/badgeproducts({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a badge assignment effect: read questions: - How do I read a custom property stored on a badge assignment? - Can I fetch one extension field value from a badge-product record? instructions: - text: Get custom property {custompropertyKey} of badge assignment {key}. slots: key: path.key custompropertyKey: path.custompropertyKey - text: Show custom field {custompropertyKey} on badge product {key}. slots: key: path.key custompropertyKey: path.custompropertyKey method: generated generated: '2026-09-26'