Sendcloud · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Sendcloud Parcels API

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

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/insights/parcels/series'].get
$.paths['/insights/parcels/buckets'].get
$.paths['/insights/parcels/counts-summary'].get
$.paths['/parcels'].get
$.paths['/parcels'].put
$.paths['/parcels'].post
$.paths['/parcels/{id}'].get
$.paths['/parcels/{id}/cancel'].post
$.paths['/parcels/{id}/return_portal_url'].get

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 Sendcloud Parcels API
  version: 1.0.0
extends: openapi/sendcloud-parcels-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 9
- target: $.paths['/insights/parcels/series'].get
  update:
    x-apievangelist-phrasing:
      intent: Chart parcel volume over time
      effect: read
      questions:
      - How many parcels did I ship per day last month?
      - Can I see my parcel volume per month for a carrier?
      instructions:
      - text: Show parcel counts per {granularity} from {start_date} to {end_date}.
        slots:
          granularity: query.granularity
          start_date: query.start_date
          end_date: query.end_date
      - text: Chart {carrier_code} parcels per {granularity} between {start_date} and {end_date}.
        slots:
          carrier_code: query.carrier_code
          granularity: query.granularity
          start_date: query.start_date
          end_date: query.end_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/insights/parcels/buckets'].get
  update:
    x-apievangelist-phrasing:
      intent: Group parcel counts by a category
      effect: read
      questions:
      - Which destination countries receive the most of my parcels?
      - Can I break down parcel volume by carrier for a period?
      instructions:
      - text: Group parcels from {start_date} to {end_date} by {group_by}.
        slots:
          start_date: query.start_date
          end_date: query.end_date
          group_by: query.group_by
      - text: Show the top {size} {group_by} buckets for parcels between {start_date} and {end_date}.
        slots:
          size: query.size
          group_by: query.group_by
          start_date: query.start_date
          end_date: query.end_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/insights/parcels/counts-summary'].get
  update:
    x-apievangelist-phrasing:
      intent: Count parcels for the last N days
      effect: read
      questions:
      - How many parcels have I sent in the last 30 days?
      - What is my recent incoming parcel count?
      instructions:
      - text: Count my parcels for the last {last_days} days.
        slots:
          last_days: query.last_days
      - text: Summarize {direction} parcels over the last {last_days} days.
        slots:
          direction: query.direction
          last_days: query.last_days
      method: generated
      generated: '2026-10-01'
- target: $.paths['/parcels'].get
  update:
    x-apievangelist-phrasing:
      intent: List parcels
      effect: read
      questions:
      - Which parcels have I created or imported into my account?
      - Can I find parcels updated since a certain date?
      - Is there a way to look up a parcel by its order number?
      instructions:
      - text: List my parcels with status {parcel_status}.
        slots:
          parcel_status: query.parcel_status
      - text: Find parcels for order number {order_number}.
        slots:
          order_number: query.order_number
      - text: List parcels updated after {updated_after}.
        slots:
          updated_after: query.updated_after
      method: generated
      generated: '2026-10-01'
- target: $.paths['/parcels'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an unannounced parcel
      effect: write
      questions:
      - Can I change a parcel's data before it's announced to the carrier?
      - How do I request a label for a parcel I created earlier without one?
      instructions:
      - text: Update the unannounced parcel with {parcel}.
        slots:
          parcel: requestBody.parcel
      - text: Request a label for the existing parcel {parcel}.
        slots:
          parcel: requestBody.parcel
      method: generated
      generated: '2026-10-01'
- target: $.paths['/parcels'].post
  update:
    x-apievangelist-phrasing:
      intent: Create one or more parcels
      effect: write
      questions:
      - How do I create a new parcel and announce it to the carrier right away?
      - Can I create several parcels in one request for later announcement?
      instructions:
      - text: Create a new parcel and announce it.
      - text: Create these parcels without announcing them yet.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/parcels/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a parcel
      effect: read
      questions:
      - How do I look up a single parcel by its ID?
      - What's the current status and tracking number of a given parcel?
      instructions:
      - text: Show parcel {id}.
        slots:
          id: path.id
      - text: Get the details of parcel {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/parcels/{id}/cancel'].post
  update:
    x-apievangelist-phrasing:
      intent: Cancel or delete a parcel
      effect: destructive
      questions:
      - Can I cancel a parcel after it has been announced?
      - What happens when I cancel a parcel that was never announced?
      instructions:
      - text: Cancel parcel {id}.
        slots:
          id: path.id
      - text: Cancel the label for parcel {id} with the carrier.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/parcels/{id}/return_portal_url'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the return portal link for a parcel
      effect: read
      questions:
      - Which branded return portal is linked to a parcel?
      - How do I give a customer the return portal URL for their parcel?
      instructions:
      - text: Get the return portal URL for parcel {id}.
        slots:
          id: path.id
      - text: Show which return portal parcel {id} uses.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'