Optimizely Punch Out Sessions API

The Punch Out Sessions API from Optimizely — 10 operation(s) for punch out sessions.

Operations 14

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v1/admin/PunchOutSessions List punchout sessions · Returns the EntitySet PunchOutSessions #
Ask an LLM
“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?”
Tell an agent
List all punchout sessions.
List punchout sessions matching {filter}, sorted by {orderby}.
POST /api/v1/admin/PunchOutSessions Create a punchout session record · Post a new entity to EntitySet PunchOutSessions #
Ask an LLM
“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?”
Tell an agent
Create a punchout session for buyer cookie {buyerCookie} from {fromIdentity} to {toIdentity}.
Open a punchout session in {punchOutSessionMode} mode that posts back to {browserFormPost}.
GET /api/v1/admin/PunchOutSessions({id}) Get one punchout session · Returns the entity with the key from PunchOutSessions #
Ask an LLM
“How do I look up a single punchout session and its ship-to details?”
“Can I expand related data when reading one punchout session?”
Tell an agent
Get punchout session {id}.
Show punchout session {id} with {expand} expanded.
PUT /api/v1/admin/PunchOutSessions({id}) Replace a punchout session record · Replace entity in EntitySet PunchOutSessions #
Ask an LLM
“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?”
Tell an agent
Replace punchout session {id} with a full record for buyer cookie {buyerCookie}.
Overwrite punchout session {id} entirely, shipping to {shipToName}.
DELETE /api/v1/admin/PunchOutSessions({id}) Delete a punchout session · Delete entity in EntitySet PunchOutSessions #
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Delete punchout session {id}.
Delete punchout session {id} only if its ETag is {ifMatch}.
PATCH /api/v1/admin/PunchOutSessions({id}) Update fields on a punchout session · Update entity in EntitySet PunchOutSessions #
Ask an LLM
“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?”
Tell an agent
Update punchout session {id} to ship to {shipToStreet}, {shipToCity}.
Attach customer order {customerOrderId} to punchout session {id}.
GET /api/v1/admin/PunchOutSessions/Default.Default() Call the Default function on punchout sessions · Call operation Default #
Ask an LLM
“What does the Default OData function on the punchout sessions set return?”
“Is there a default punchout session template I can read?”
Tell an agent
Call the Default function on punchout sessions.
Get the default punchout session entity.
DELETE /api/v1/admin/punchoutsessions/delete Bulk delete punchout sessions by ID · Punch out sessions delete route #
Ask an LLM
“Can I delete several punchout sessions in one call?”
“How do I clean out a batch of stale punchout sessions by their IDs?”
Tell an agent destructive · confirm first
Bulk delete punchout sessions {ids}.
Remove all of these punchout sessions at once: {ids}.
GET /api/v1/admin/punchoutsessions({key})/customproperties({custompropertyKey}) Get a custom property on a punchout session · Punch out sessions get custom property by key and custompropertykey #
Ask an LLM
“How do I read one custom property stored on a punchout session?”
“Can punchout sessions carry custom properties I can fetch individually?”
Tell an agent
Get custom property {custompropertyKey} of punchout session {key}.
Read punchout session {key}'s custom field {custompropertyKey}.
GET /api/v1/admin/punchoutsessions({key})/punchoutorderrequests({punchoutorderrequestKey}) Get an order request from a punchout session · Punch out sessions get punch out order request by key and… #
Ask an LLM
“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?”
Tell an agent
Get order request {punchoutorderrequestKey} in punchout session {key}.
Show the punchout order request {punchoutorderrequestKey} for session {key}.
GET /api/v1/admin/punchoutsessions({key})/punchoutsessionaccesses({punchoutsessionaccessKey}) Get an access record for a punchout session · Punch out sessions get punch out session access by key and… #
Ask an LLM
“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?”
Tell an agent
Get access record {punchoutsessionaccessKey} of punchout session {key}.
Show punchout session {key}'s access entry {punchoutsessionaccessKey}.
GET /api/v1/admin/punchoutsessions({key})/punchoutsessionextrinsics({punchoutsessionextrinsicKey}) Get an extrinsic value on a punchout session · Punch out sessions get punch out session extrinsic by key and… #
Ask an LLM
“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?”
Tell an agent
Get extrinsic {punchoutsessionextrinsicKey} from punchout session {key}.
Read the extrinsic {punchoutsessionextrinsicKey} sent with session {key}.
GET /api/v1/admin/punchoutsessions({key})/punchoutsessionitemins({punchoutsessioniteminKey}) Get an inbound item on a punchout session · Punch out sessions get punch out session item in by key and… #
Ask an LLM
“Which items did the buyer bring into a punchout session for editing?”
“Can I read a single ItemIn line from a punchout session?”
Tell an agent
Get ItemIn line {punchoutsessioniteminKey} of punchout session {key}.
Show inbound item {punchoutsessioniteminKey} for punchout session {key}.
GET /api/v1/admin/punchoutsessions({key})/punchoutsetuprequests({punchoutsetuprequestKey}) Get the setup request of a punchout session · Punch out sessions get punch out setup request by key and… #
Ask an LLM
“How do I inspect the setup request that started a punchout session?”
“Can I retrieve the original PunchOutSetupRequest for troubleshooting a session?”
Tell an agent
Get setup request {punchoutsetuprequestKey} of punchout session {key}.
Show the PunchOutSetupRequest {punchoutsetuprequestKey} behind session {key}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/optimizely:optimizely-punch-out-sessions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

optimizely-punch-out-sessions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: admin-v1
  title: Admin API V1 Punch Out Sessions API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Punch Out Sessions
paths:
  /api/v1/admin/PunchOutSessions:
    get:
      tags:
      - Punch Out Sessions
      summary: Returns the EntitySet PunchOutSessions
      operationId: PunchOutSessions_Get
      parameters:
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $filter
        in: query
        description: Filters the results, based on a Boolean condition.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      - name: $apply
        in: query
        description: Aggregates the results according to one or more transformations.
        required: false
        schema:
          type: string
      - name: $orderby
        in: query
        description: Sorts the results.
        required: false
        schema:
          type: string
      - name: $top
        in: query
        description: Returns only the first n results.
        required: false
        schema:
          type: integer
          format: int32
      - name: $skip
        in: query
        description: Skips the first n results.
        required: false
        schema:
          type: integer
          format: int32
      - name: $count
        in: query
        description: Includes a count of the matching results in the response.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    post:
      tags:
      - Punch Out Sessions
      summary: Post a new entity to EntitySet PunchOutSessions
      operationId: PunchOutSessions_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.PunchOutSession'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/PunchOutSessions({id}):
    get:
      tags:
      - Punch Out Sessions
      summary: Returns the entity with the key from PunchOutSessions
      operationId: PunchOutSessions_GetById
      parameters:
      - name: id
        in: path
        description: 'key: id'
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    put:
      tags:
      - Punch Out Sessions
      summary: Replace entity in EntitySet PunchOutSessions
      operationId: PunchOutSessions_PutById
      parameters:
      - name: id
        in: path
        description: 'key: id'
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.PunchOutSession'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Punch Out Sessions
      summary: Delete entity in EntitySet PunchOutSessions
      operationId: PunchOutSessions_DeleteById
      parameters:
      - name: id
        in: path
        description: 'key: id'
        required: true
        schema:
          type: string
          format: uuid
      - name: If-Match
        in: header
        description: If-Match header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    patch:
      tags:
      - Punch Out Sessions
      summary: Update entity in EntitySet PunchOutSessions
      operationId: PunchOutSessions_PatchById
      parameters:
      - name: id
        in: path
        description: 'key: id'
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.PunchOutSession'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/PunchOutSessions/Default.Default():
    get:
      tags:
      - Punch Out Sessions
      summary: Call operation Default
      operationId: PunchOutSessions_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/punchoutsessions/delete:
    delete:
      tags:
      - Punch Out Sessions
      operationId: PunchOutSessions_DeleteRoute
      parameters:
      - name: ids
        in: query
        required: true
        explode: true
        schema:
          type: array
          items:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Punch out sessions delete route
      x-summary-source: derived
  /api/v1/admin/punchoutsessions({key})/customproperties({custompropertyKey}):
    get:
      tags:
      - Punch Out Sessions
      operationId: PunchOutSessions_GetCustomPropertyByKeyAndCustompropertykey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: custompropertyKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Punch out sessions get custom property by key and custompropertykey
      x-summary-source: derived
  /api/v1/admin/punchoutsessions({key})/punchoutorderrequests({punchoutorderrequestKey}):
    get:
      tags:
      - Punch Out Sessions
      operationId: PunchOutSessions_GetPunchOutOrderRequestByKeyAndPunchoutorderrequestkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: punchoutorderrequestKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Punch out sessions get punch out order request by key and…
      x-summary-source: derived
  /api/v1/admin/punchoutsessions({key})/punchoutsessionaccesses({punchoutsessionaccessKey}):
    get:
      tags:
      - Punch Out Sessions
      operationId: PunchOutSessions_GetPunchOutSessionAccessByKeyAndPunchoutsessionaccesskey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: punchoutsessionaccessKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Punch out sessions get punch out session access by key and…
      x-summary-source: derived
  /api/v1/admin/punchoutsessions({key})/punchoutsessionextrinsics({punchoutsessionextrinsicKey}):
    get:
      tags:
      - Punch Out Sessions
      operationId: PunchOutSessions_GetPunchOutSessionExtrinsicByKeyAndPunchoutsessionextrinsickey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: punchoutsessionextrinsicKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Punch out sessions get punch out session extrinsic by key and…
      x-summary-source: derived
  /api/v1/admin/punchoutsessions({key})/punchoutsessionitemins({punchoutsessioniteminKey}):
    get:
      tags:
      - Punch Out Sessions
      operationId: PunchOutSessions_GetPunchOutSessionItemInByKeyAndPunchoutsessioniteminkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: punchoutsessioniteminKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Punch out sessions get punch out session item in by key and…
      x-summary-source: derived
  /api/v1/admin/punchoutsessions({key})/punchoutsetuprequests({punchoutsetuprequestKey}):
    get:
      tags:
      - Punch Out Sessions
      operationId: PunchOutSessions_GetPunchOutSetupRequestByKeyAndPunchoutsetuprequestkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: punchoutsetuprequestKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Punch out sessions get punch out setup request by key and…
      x-summary-source: derived
components:
  schemas:
    Insite.Data.Entities.PunchOutSession:
      required:
      - fromIdentity
      - toIdentity
      - senderIdentity
      - fromUserAgent
      - buyerCookie
      - browserFormPost
      - domain
      - punchOutSessionMode
      - toIdentityNode
      - fromIdentityNode
      - senderIdentityNode
      - shipToAddressId
      - shipToName
      - shipToDeliverTo
      - shipToStreet
      - shipToCity
      - shipToState
      - shipToPostalCode
      - shipToIsoCountryCode
      - shipToCountry
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        userProfileId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        customerOrderId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        fromIdentity:
          maxLength: 255
          minLength: 0
          type: string
        toIdentity:
          maxLength: 255
          minLength: 0
          type: string
        senderIdentity:
          maxLength: 255
          minLength: 0
          type: string
        fromUserAgent:
          maxLength: 255
          minLength: 0
          type: string
        buyerCookie:
          maxLength: 255
          minLength: 0
          type: string
        browserFormPost:
          maxLength: 1024
          minLength: 0
          type: string
        domain:
          maxLength: 1024
          minLength: 0
          type: string
        punchOutSessionMode:
          maxLength: 50
          minLength: 0
          type: string
        toIdentityNode:
          maxLength: 1024
          minLength: 0
          type: string
        fromIdentityNode:
          maxLength: 1024
          minLength: 0
          type: string
        senderIdentityNode:
          maxLength: 1024
          minLength: 0
          type: string
        shipToAddressId:
          maxLength: 1024
          minLength: 0
          type: string
        shipToName:
          maxLength: 1024
          minLength: 0
          type: string
        shipToDeliverTo:
          maxLength: 1024
          minLength: 0
          type: string
        shipToStreet:
          maxLength: 1024
          minLength: 0
          type: string
        shipToCity:
          maxLength: 1024
          minLength: 0
          type: string
        shipToState:
          maxLength: 1024
          minLength: 0
          type: string
        shipToPostalCode:
          maxLength: 1024
          minLength: 0
          type: string
        shipToIsoCountryCode:
          maxLength: 1024
          minLength: 0
          type: string
        shipToCountry:
          maxLength: 1024
          minLength: 0
          type: string
        shipAddressIdResolved:
          type: boolean
        createdOn:
          format: date-time
          type: string
        createdBy:
          type: string
        modifiedOn:
          format: date-time
          type: string
        modifiedBy:
          type: string
  securitySchemes:
    access_token:
      type: apiKey
      description: Token used to access storefront API.
      name: access_token
      in: query