Etsy · Arazzo Workflow

Etsy Create Shipping Profile and Listing

Version 1.0.0

Create a shop shipping profile, then create a draft listing that uses it.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub MarketplaceE-CommerceHandmadeListingsOrderPaymentsReviewsShippingTaxonomyAuthenticationArazzoWorkflows

Provider

etsy

Workflows

create-shipping-profile-and-listing
Create a shipping profile and immediately use it on a new draft listing.
Creates a shop shipping profile, then creates a draft physical listing that references the newly created profile.
2 steps inputs: accessToken, apiKey, description, maxDeliveryDays, minDeliveryDays, originCountryIso, price, primaryCost, profileTitle, quantity, secondaryCost, shopId, taxonomyId, title outputs: listingId, shippingProfileId
1
createShippingProfile
Create a shipping profile for the shop with origin, costs and a min/max delivery-day estimate.
2
createListing
Create a draft physical listing that references the shipping profile created in the previous step.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Etsy Create Shipping Profile and Listing
  summary: Create a shop shipping profile, then create a draft listing that uses it.
  description: >-
    Physical Etsy listings must reference a valid shipping profile. This flow
    creates a new shipping profile for the shop with origin, costs and either a
    carrier/mail class or delivery-day range, then creates a draft physical
    listing that points at the new profile via its shipping_profile_id. Every
    step spells out its request inline — including the x-api-key and OAuth
    bearer headers — so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: shopShippingprofileApi
  url: ../openapi/etsy-shop-shippingprofile-api-openapi.yml
  type: openapi
- name: shoplistingApi
  url: ../openapi/etsy-shoplisting-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-shipping-profile-and-listing
  summary: Create a shipping profile and immediately use it on a new draft listing.
  description: >-
    Creates a shop shipping profile, then creates a draft physical listing that
    references the newly created profile.
  inputs:
    type: object
    required:
    - apiKey
    - accessToken
    - shopId
    - profileTitle
    - originCountryIso
    - primaryCost
    - secondaryCost
    - minDeliveryDays
    - maxDeliveryDays
    - title
    - description
    - price
    - quantity
    - taxonomyId
    properties:
      apiKey:
        type: string
        description: The Etsy app API key sent in the x-api-key header.
      accessToken:
        type: string
        description: The OAuth 2.0 bearer token for the authenticated seller.
      shopId:
        type: integer
        description: The unique positive non-zero numeric ID for the Etsy shop.
      profileTitle:
        type: string
        description: The name of the shipping profile.
      originCountryIso:
        type: string
        description: The ISO code of the country the listing ships from.
      primaryCost:
        type: number
        description: The cost of shipping this item alone.
      secondaryCost:
        type: number
        description: The cost of shipping this item with another item.
      minDeliveryDays:
        type: integer
        description: The minimum delivery days estimate.
      maxDeliveryDays:
        type: integer
        description: The maximum delivery days estimate.
      title:
        type: string
        description: The listing title.
      description:
        type: string
        description: The listing description.
      price:
        type: number
        description: The minimum listing price.
      quantity:
        type: integer
        description: The number of products available for purchase.
      taxonomyId:
        type: integer
        description: The seller taxonomy ID for the listing.
  steps:
  - stepId: createShippingProfile
    description: >-
      Create a shipping profile for the shop with origin, costs and a
      min/max delivery-day estimate.
    operationId: createShopShippingProfile
    parameters:
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: shop_id
      in: path
      value: $inputs.shopId
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        title: $inputs.profileTitle
        origin_country_iso: $inputs.originCountryIso
        primary_cost: $inputs.primaryCost
        secondary_cost: $inputs.secondaryCost
        min_delivery_days: $inputs.minDeliveryDays
        max_delivery_days: $inputs.maxDeliveryDays
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      shippingProfileId: $response.body#/shipping_profile_id
  - stepId: createListing
    description: >-
      Create a draft physical listing that references the shipping profile
      created in the previous step.
    operationId: createDraftListing
    parameters:
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: shop_id
      in: path
      value: $inputs.shopId
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        quantity: $inputs.quantity
        title: $inputs.title
        description: $inputs.description
        price: $inputs.price
        who_made: i_did
        when_made: made_to_order
        taxonomy_id: $inputs.taxonomyId
        shipping_profile_id: $steps.createShippingProfile.outputs.shippingProfileId
        type: physical
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      listingId: $response.body#/listing_id
  outputs:
    shippingProfileId: $steps.createShippingProfile.outputs.shippingProfileId
    listingId: $steps.createListing.outputs.listingId

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/etsy-create-shipping-profile-and-listing-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?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.