# 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 Extrinsics API version: 1.0.0 extends: openapi/optimizely-punch-out-session-extrinsics-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/PunchOutSessionExtrinsics'].get update: x-apievangelist-phrasing: intent: List punchout session extrinsics effect: read questions: - Which extrinsic values did buyers' procurement systems send in punchout sessions? - Can I filter punchout extrinsics by session or by name? instructions: - text: List all punchout session extrinsics. - text: Find punchout session extrinsics matching {filter}. slots: filter: query.$filter method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionExtrinsics'].post update: x-apievangelist-phrasing: intent: Add an extrinsic to a punchout session effect: write questions: - How do I store a name/value extrinsic on a punchout session? - What is required when adding a punchout extrinsic, name and value? instructions: - text: Add extrinsic {name} = {value} to punchout session {punchOutSessionId}. slots: name: requestBody.name value: requestBody.value punchOutSessionId: requestBody.punchOutSessionId - text: Create a punchout session extrinsic named {name} with value {value}. slots: name: requestBody.name value: requestBody.value method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionExtrinsics({id})'].get update: x-apievangelist-phrasing: intent: Get a punchout session extrinsic by ID effect: read questions: - What name and value does one punchout extrinsic record hold? - Can I look up a single punchout session extrinsic by its ID? instructions: - text: Get punchout session extrinsic {id}. slots: id: path.id - text: Show the name and value of punchout extrinsic {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionExtrinsics({id})'].put update: x-apievangelist-phrasing: intent: Replace a punchout session extrinsic effect: write questions: - Can I overwrite a whole punchout extrinsic record at once? - Does a full replace of a punchout extrinsic need both name and value? instructions: - text: Replace punchout extrinsic {id} with name {name} and value {value}. slots: id: path.id name: requestBody.name value: requestBody.value - text: Overwrite the entire punchout session extrinsic {id} using a full PUT. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionExtrinsics({id})'].delete update: x-apievangelist-phrasing: intent: Delete a punchout session extrinsic by ID effect: destructive questions: - How do I remove one extrinsic from a punchout session? - Does deleting a punchout extrinsic accept an If-Match ETag? instructions: - text: Delete punchout session extrinsic {id}. slots: id: path.id - text: Delete punchout extrinsic {id} only if its ETag matches {ifMatch}. slots: id: path.id ifMatch: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionExtrinsics({id})'].patch update: x-apievangelist-phrasing: intent: Update a punchout session extrinsic effect: write questions: - How do I change the value of an existing punchout extrinsic? - Can I partially update a punchout session extrinsic? instructions: - text: Change the value of punchout extrinsic {id} to {value}. slots: id: path.id value: requestBody.value - text: Patch punchout session extrinsic {id}, setting {name} to {value}. slots: id: path.id name: requestBody.name value: requestBody.value method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PunchOutSessionExtrinsics/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get a default punchout extrinsic template effect: read questions: - What default values does a new punchout session extrinsic start with? - Is there a blank punchout extrinsic template to fetch first? instructions: - text: Fetch the default punchout session extrinsic template. - text: Show me the default values for a new punchout extrinsic. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/punchoutsessionextrinsics/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete punchout session extrinsics effect: destructive questions: - How do I delete several punchout extrinsics at once? - Can I pass a list of IDs to remove many punchout session extrinsics? instructions: - text: Bulk delete the punchout session extrinsics with IDs {ids}. slots: ids: query.ids - text: 'Remove all of these punchout extrinsics in one call: {ids}.' slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/punchoutsessionextrinsics({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a punchout extrinsic effect: read questions: - Where do I read a custom property stored on a punchout session extrinsic? - Can I fetch one extra property value from a punchout extrinsic? instructions: - text: Get custom property {custompropertyKey} on punchout extrinsic {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Show the custom property {custompropertyKey} of punchout session extrinsic {key}. slots: custompropertyKey: path.custompropertyKey key: path.key method: generated generated: '2026-09-26'