Etsy · Arazzo Workflow

Etsy User Shop Profile

Version 1.0.0

Fetch a user profile, then resolve the shop that user owns.

1 workflow 1 source API 1 provider
View Spec View on GitHub MarketplaceEcommerceHandmadeListingsOrdersPaymentsReviewsShippingTaxonomyOAuth2ArazzoWorkflows

Provider

etsy

Workflows

user-shop-profile
Read a user profile and resolve the shop they own.
Fetches a user profile by ID, then resolves the shop owned by that user.
2 steps inputs: accessToken, apiKey, userId outputs: shopId, shopName, userId
1
getUser
getUser
Fetch the user profile for the supplied user ID.
2
resolveShop
getShopByOwnerUserId
Resolve the shop owned by the same user ID.

Source API Descriptions

Arazzo Workflow Specification

etsy-user-shop-profile-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Etsy User Shop Profile
  summary: Fetch a user profile, then resolve the shop that user owns.
  description: >-
    A read-only profile flow that joins a user to their storefront. It fetches
    a user profile by user ID, then resolves the shop owned by that same user
    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: etsyApi
  url: ../openapi/etsy-openapi-original.yml
  type: openapi
workflows:
- workflowId: user-shop-profile
  summary: Read a user profile and resolve the shop they own.
  description: >-
    Fetches a user profile by ID, then resolves the shop owned by that user.
  inputs:
    type: object
    required:
    - apiKey
    - accessToken
    - userId
    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.
      userId:
        type: integer
        description: The numeric user ID to look up.
  steps:
  - stepId: getUser
    description: Fetch the user profile for the supplied user ID.
    operationId: getUser
    parameters:
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: user_id
      in: path
      value: $inputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/user_id
      firstName: $response.body#/first_name
      lastName: $response.body#/last_name
  - stepId: resolveShop
    description: Resolve the shop owned by the same user ID.
    operationId: getShopByOwnerUserId
    parameters:
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: user_id
      in: path
      value: $steps.getUser.outputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      shopId: $response.body#/shop_id
      shopName: $response.body#/shop_name
  outputs:
    userId: $steps.getUser.outputs.userId
    shopId: $steps.resolveShop.outputs.shopId
    shopName: $steps.resolveShop.outputs.shopName