Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Admin API V1 Punch Out Sessions API
15 actions
15 updates
phrasing
extends
openapi/optimizely-punch-out-sessions-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Optimizely's API. It is a proposal applied on top of the contract, not a document Optimizely publishes.
What the actions change
x-apievangelist-phrasing
Targets 15
$.info
$.paths['/api/v1/admin/PunchOutSessions'].get
$.paths['/api/v1/admin/PunchOutSessions'].post
$.paths['/api/v1/admin/PunchOutSessions({id})'].get
$.paths['/api/v1/admin/PunchOutSessions({id})'].put
$.paths['/api/v1/admin/PunchOutSessions({id})'].delete
$.paths['/api/v1/admin/PunchOutSessions({id})'].patch
$.paths['/api/v1/admin/PunchOutSessions/Default.Default()'].get
$.paths['/api/v1/admin/punchoutsessions/delete'].delete
$.paths['/api/v1/admin/punchoutsessions({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/punchoutsessions({key})/punchoutorderrequests({punchoutorderrequestKey})'].get
$.paths['/api/v1/admin/punchoutsessions({key})/punchoutsessionaccesses({punchoutsessionaccessKey})'].get
$.paths['/api/v1/admin/punchoutsessions({key})/punchoutsessionextrinsics({punchoutsessionextrinsicKey})'].get
$.paths['/api/v1/admin/punchoutsessions({key})/punchoutsessionitemins({punchoutsessioniteminKey})'].get
$.paths['/api/v1/admin/punchoutsessions({key})/punchoutsetuprequests({punchoutsetuprequestKey})'].get
OpenAPI Overlay
# 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 Sessions API
version: 1.0.0
extends: openapi/optimizely-punch-out-sessions-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: 14
- target: $.paths['/api/v1/admin/PunchOutSessions'].get
update:
x-apievangelist-phrasing:
intent: List punchout sessions
effect: read
questions:
- Which procurement punchout sessions have buyers opened against my commerce site?
- Can I filter and sort punchout sessions with OData, for example by domain or creation date?
instructions:
- text: List all punchout sessions.
- text: List punchout sessions matching {filter}, sorted by {orderby}.
slots:
filter: query.$filter
orderby: query.$orderby
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/PunchOutSessions'].post
update:
x-apievangelist-phrasing:
intent: Create a punchout session record
effect: write
questions:
- How do I record a new punchout session from a buyer's procurement system?
- What identity and ship-to details are required to create a punchout session?
instructions:
- text: Create a punchout session for buyer cookie {buyerCookie} from {fromIdentity} to {toIdentity}.
slots:
buyerCookie: requestBody.buyerCookie
fromIdentity: requestBody.fromIdentity
toIdentity: requestBody.toIdentity
- text: Open a punchout session in {punchOutSessionMode} mode that posts back to {browserFormPost}.
slots:
punchOutSessionMode: requestBody.punchOutSessionMode
browserFormPost: requestBody.browserFormPost
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/PunchOutSessions({id})'].get
update:
x-apievangelist-phrasing:
intent: Get one punchout session
effect: read
questions:
- How do I look up a single punchout session and its ship-to details?
- Can I expand related data when reading one punchout session?
instructions:
- text: Get punchout session {id}.
slots:
id: path.id
- text: Show punchout session {id} with {expand} expanded.
slots:
id: path.id
expand: query.$expand
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/PunchOutSessions({id})'].put
update:
x-apievangelist-phrasing:
intent: Replace a punchout session record
effect: write
questions:
- How do I overwrite every field of an existing punchout session?
- Does replacing a punchout session require resending all the identity and ship-to fields?
instructions:
- text: Replace punchout session {id} with a full record for buyer cookie {buyerCookie}.
slots:
id: path.id
buyerCookie: requestBody.buyerCookie
- text: Overwrite punchout session {id} entirely, shipping to {shipToName}.
slots:
id: path.id
shipToName: requestBody.shipToName
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/PunchOutSessions({id})'].delete
update:
x-apievangelist-phrasing:
intent: Delete a punchout session
effect: destructive
questions:
- How do I remove a single punchout session record?
- Can I guard a punchout session delete with an ETag so I don't remove a changed record?
instructions:
- text: Delete punchout session {id}.
slots:
id: path.id
- text: Delete punchout session {id} only if its ETag is {ifMatch}.
slots:
id: path.id
ifMatch: header.If-Match
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/PunchOutSessions({id})'].patch
update:
x-apievangelist-phrasing:
intent: Update fields on a punchout session
effect: write
questions:
- Can I change just the ship-to address on a punchout session?
- How do I link a punchout session to a customer order after the fact?
instructions:
- text: Update punchout session {id} to ship to {shipToStreet}, {shipToCity}.
slots:
id: path.id
shipToStreet: requestBody.shipToStreet
shipToCity: requestBody.shipToCity
- text: Attach customer order {customerOrderId} to punchout session {id}.
slots:
customerOrderId: requestBody.customerOrderId
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/PunchOutSessions/Default.Default()'].get
update:
x-apievangelist-phrasing:
intent: Call the Default function on punchout sessions
effect: read
questions:
- What does the Default OData function on the punchout sessions set return?
- Is there a default punchout session template I can read?
instructions:
- text: Call the Default function on punchout sessions.
- text: Get the default punchout session entity.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/punchoutsessions/delete'].delete
update:
x-apievangelist-phrasing:
intent: Bulk delete punchout sessions by ID
effect: destructive
questions:
- Can I delete several punchout sessions in one call?
- How do I clean out a batch of stale punchout sessions by their IDs?
instructions:
- text: Bulk delete punchout sessions {ids}.
slots:
ids: query.ids
- text: 'Remove all of these punchout sessions at once: {ids}.'
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/punchoutsessions({key})/customproperties({custompropertyKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a custom property on a punchout session
effect: read
questions:
- How do I read one custom property stored on a punchout session?
- Can punchout sessions carry custom properties I can fetch individually?
instructions:
- text: Get custom property {custompropertyKey} of punchout session {key}.
slots:
custompropertyKey: path.custompropertyKey
key: path.key
- text: Read punchout session {key}'s custom field {custompropertyKey}.
slots:
key: path.key
custompropertyKey: path.custompropertyKey
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/punchoutsessions({key})/punchoutorderrequests({punchoutorderrequestKey})'].get
update:
x-apievangelist-phrasing:
intent: Get an order request from a punchout session
effect: read
questions:
- How do I see the order request a punchout session sent back to procurement?
- Can I fetch a specific punchout order request within a session?
instructions:
- text: Get order request {punchoutorderrequestKey} in punchout session {key}.
slots:
punchoutorderrequestKey: path.punchoutorderrequestKey
key: path.key
- text: Show the punchout order request {punchoutorderrequestKey} for session {key}.
slots:
punchoutorderrequestKey: path.punchoutorderrequestKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/punchoutsessions({key})/punchoutsessionaccesses({punchoutsessionaccessKey})'].get
update:
x-apievangelist-phrasing:
intent: Get an access record for a punchout session
effect: read
questions:
- Where can I see when and how a punchout session was accessed?
- Can I look up a single session access entry for a punchout session?
instructions:
- text: Get access record {punchoutsessionaccessKey} of punchout session {key}.
slots:
punchoutsessionaccessKey: path.punchoutsessionaccessKey
key: path.key
- text: Show punchout session {key}'s access entry {punchoutsessionaccessKey}.
slots:
key: path.key
punchoutsessionaccessKey: path.punchoutsessionaccessKey
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/punchoutsessions({key})/punchoutsessionextrinsics({punchoutsessionextrinsicKey})'].get
update:
x-apievangelist-phrasing:
intent: Get an extrinsic value on a punchout session
effect: read
questions:
- How do I read the cXML extrinsic values a buyer passed into a punchout session?
- Can I fetch one extrinsic from a punchout session by its key?
instructions:
- text: Get extrinsic {punchoutsessionextrinsicKey} from punchout session {key}.
slots:
punchoutsessionextrinsicKey: path.punchoutsessionextrinsicKey
key: path.key
- text: Read the extrinsic {punchoutsessionextrinsicKey} sent with session {key}.
slots:
punchoutsessionextrinsicKey: path.punchoutsessionextrinsicKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/punchoutsessions({key})/punchoutsessionitemins({punchoutsessioniteminKey})'].get
update:
x-apievangelist-phrasing:
intent: Get an inbound item on a punchout session
effect: read
questions:
- Which items did the buyer bring into a punchout session for editing?
- Can I read a single ItemIn line from a punchout session?
instructions:
- text: Get ItemIn line {punchoutsessioniteminKey} of punchout session {key}.
slots:
punchoutsessioniteminKey: path.punchoutsessioniteminKey
key: path.key
- text: Show inbound item {punchoutsessioniteminKey} for punchout session {key}.
slots:
punchoutsessioniteminKey: path.punchoutsessioniteminKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/punchoutsessions({key})/punchoutsetuprequests({punchoutsetuprequestKey})'].get
update:
x-apievangelist-phrasing:
intent: Get the setup request of a punchout session
effect: read
questions:
- How do I inspect the setup request that started a punchout session?
- Can I retrieve the original PunchOutSetupRequest for troubleshooting a session?
instructions:
- text: Get setup request {punchoutsetuprequestKey} of punchout session {key}.
slots:
punchoutsetuprequestKey: path.punchoutsetuprequestKey
key: path.key
- text: Show the PunchOutSetupRequest {punchoutsetuprequestKey} behind session {key}.
slots:
punchoutsetuprequestKey: path.punchoutsetuprequestKey
key: path.key
method: generated
generated: '2026-09-26'