Klarna · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for V3 Checkout API

5 actions 5 updates phrasing extends openapi/klarna-checkout-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Klarna's API. It is a proposal applied on top of the contract, not a document Klarna publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 5

$.info
$.paths['/checkout/v3/orders'].post
$.paths['/checkout/v3/orders/{order_id}'].get
$.paths['/checkout/v3/orders/{order_id}'].post
$.paths['/checkout/v3/orders/{order_id}/abort'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for V3 Checkout API
  version: 1.0.0
extends: openapi/klarna-checkout-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: 4
- target: $.paths['/checkout/v3/orders'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a checkout order
      effect: write
      questions:
      - How do I start a new Klarna Checkout order and get the checkout snippet to embed?
      - What do I need to send to open a checkout, like country, currency, locale and cart lines?
      - Can I set up a recurring checkout order when creating it?
      instructions:
      - text: Create a checkout order in {purchase_currency} for {purchase_country} totaling {order_amount}.
        slots:
          purchase_currency: requestBody.purchase_currency
          purchase_country: requestBody.purchase_country
          order_amount: requestBody.order_amount
      - text: Start a new checkout for cart {order_lines} with locale {locale}, amount {order_amount} and tax {order_tax_amount}.
        slots:
          order_lines: requestBody.order_lines
          locale: requestBody.locale
          order_amount: requestBody.order_amount
          order_tax_amount: requestBody.order_tax_amount
      method: generated
      generated: '2026-09-26'
- target: $.paths['/checkout/v3/orders/{order_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a checkout order
      effect: read
      questions:
      - How can I read back a checkout order while the customer is still checking out?
      - Can I fetch the checkout snippet and status of an existing checkout order?
      instructions:
      - text: Get checkout order {order_id}.
        slots:
          order_id: path.order_id
      - text: Show the current checkout status and cart for checkout order {order_id}.
        slots:
          order_id: path.order_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/checkout/v3/orders/{order_id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Update an in-progress checkout order
      effect: write
      questions:
      - Can I change the cart of a checkout order before the customer completes it?
      - Why can a checkout order only be updated while it is checkout_incomplete?
      instructions:
      - text: Update checkout order {order_id} with new cart lines {order_lines} and amount {order_amount}.
        slots:
          order_id: path.order_id
          order_lines: requestBody.order_lines
          order_amount: requestBody.order_amount
      - text: Change the shipping options on incomplete checkout order {order_id} to {shipping_options}.
        slots:
          order_id: path.order_id
          shipping_options: requestBody.shipping_options
      method: generated
      generated: '2026-09-26'
- target: $.paths['/checkout/v3/orders/{order_id}/abort'].post
  update:
    x-apievangelist-phrasing:
      intent: Abort a checkout order
      effect: destructive
      questions:
      - How do I abandon a checkout order the customer will never finish?
      - Can I mark an unfinished checkout as aborted?
      instructions:
      - text: Abort checkout order {order_id}.
        slots:
          order_id: path.order_id
      - text: Mark checkout order {order_id} as aborted.
        slots:
          order_id: path.order_id
      method: generated
      generated: '2026-09-26'