# 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 Punch Out Session Item Ins API version: 1.0.0 extends: openapi/optimizely-punch-out-session-item-ins-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/PunchOutSessionItemIns'].get update: x-apievangelist-phrasing: intent: List items brought into punchout sessions effect: read questions: - How can I see the items a buyer's procurement system sent into punchout sessions? - Can I filter punchout session items by supplier part id? instructions: - text: List all punchout session item-ins. - text: List punchout session items matching {filter}. slots: filter: query.$filter method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionItemIns'].post update: x-apievangelist-phrasing: intent: Add an item to a punchout session effect: write questions: - How do I record an item coming into a punchout session? - What part identifiers does a punchout session item need? instructions: - text: Add part {supplierPartId} (auxiliary id {supplierPartAuxiliaryId}) to punchout session {punchOutSessionId}. slots: supplierPartId: requestBody.supplierPartId supplierPartAuxiliaryId: requestBody.supplierPartAuxiliaryId punchOutSessionId: requestBody.punchOutSessionId - text: Create a punchout session item for supplier part {supplierPartId} with auxiliary id {supplierPartAuxiliaryId}. slots: supplierPartId: requestBody.supplierPartId supplierPartAuxiliaryId: requestBody.supplierPartAuxiliaryId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionItemIns({id})'].get update: x-apievangelist-phrasing: intent: Get one punchout session item effect: read questions: - How can I look up a single item in a punchout session? - Which punchout session does a given item-in belong to? instructions: - text: Show punchout session item {id}. slots: id: path.id - text: Fetch {select} from punchout session item {id}. slots: id: path.id select: query.$select method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionItemIns({id})'].put update: x-apievangelist-phrasing: intent: Replace a punchout session item effect: write questions: - How do I overwrite a punchout session item completely? - Does replacing a punchout session item drop its session link if omitted? instructions: - text: Replace punchout session item {id} with part {supplierPartId} and auxiliary id {supplierPartAuxiliaryId}. slots: id: path.id supplierPartId: requestBody.supplierPartId supplierPartAuxiliaryId: requestBody.supplierPartAuxiliaryId - text: Overwrite the full punchout session item {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionItemIns({id})'].delete update: x-apievangelist-phrasing: intent: Delete one punchout session item effect: destructive questions: - How do I remove a single item from a punchout session? - Can I delete a punchout session item only if its ETag matches? instructions: - text: Delete punchout session item {id}. slots: id: path.id - text: Remove punchout session item {id} if the ETag is {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionItemIns({id})'].patch update: x-apievangelist-phrasing: intent: Update a punchout session item effect: write questions: - How can I fix only the supplier part id on a punchout session item? - Can I move a punchout item to another session? instructions: - text: Set supplier part of punchout session item {id} to {supplierPartId}. slots: id: path.id supplierPartId: requestBody.supplierPartId - text: Move punchout session item {id} to session {punchOutSessionId}. slots: id: path.id punchOutSessionId: requestBody.punchOutSessionId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionItemIns/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get defaults for a new punchout session item effect: read questions: - What default values does a new punchout session item have? - Where do I get a blank punchout session item template? instructions: - text: Fetch the default punchout session item template. - text: Show starting values for a new punchout session item. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/punchoutsessionitemins/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete punchout session items effect: destructive questions: - How do I delete several punchout session items at once? - Can I pass a list of ids to clear punchout session items? instructions: - text: Bulk delete punchout session items {ids}. slots: ids: query.ids - text: Permanently delete every punchout session item in {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/punchoutsessionitemins({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property of a punchout session item effect: read questions: - Where can I read a custom property on a punchout session item? - How do I fetch one custom attribute from a punchout session item? instructions: - text: Get custom property {custompropertyKey} of punchout session item {key}. slots: key: path.key custompropertyKey: path.custompropertyKey - text: Read custom field {custompropertyKey} on punchout item {key}. slots: key: path.key custompropertyKey: path.custompropertyKey method: generated generated: '2026-09-26'