Etsy · Capability

Etsy Open API v3 — Shop

Etsy Open API v3 — Shop. 4 operations. Lead operation: Get Shop. Self-contained Naftiko capability covering one Etsy business surface.

Run with Naftiko EtsyOpen API v3Shop

What You Can Do

GET
Getshop — Get Shop
/v1/shops/{shop_id}
PUT
Updateshop — Update Shop
/v1/shops/{shop_id}
GET
Getshopbyowneruserid — Get Shop by Owner User Id
/v1/users/{user_id}/shops
GET
Findshops — Find Shops
/v1/shops

MCP Tools

get-shop

Get Shop

read-only idempotent
update-shop

Update Shop

idempotent
get-shop-owner-user-id

Get Shop by Owner User Id

read-only idempotent
find-shops

Find Shops

read-only idempotent

Capability Spec

open-api-v3-shop.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Etsy Open API v3 — Shop
  description: 'Etsy Open API v3 — Shop. 4 operations. Lead operation: Get Shop. Self-contained Naftiko capability covering one Etsy business surface.'
  tags:
    - Etsy
    - Open API v3
    - Shop
  created: '2026-05-30'
  modified: '2026-05-30'
binds:
  - namespace: env
    keys:
      ETSY_API_KEY: ETSY_API_KEY
      ETSY_OAUTH_TOKEN: ETSY_OAUTH_TOKEN
capability:
  consumes:
    - type: http
      namespace: open-api-v3-shop
      baseUri: https://openapi.etsy.com
      description: Etsy Open API v3 — Shop business capability. Self-contained, no shared references.
      authentication:
        type: apikey
        key: x-api-key
        value: '{{env.ETSY_API_KEY}}'
        placement: header
      resources:
        - name: shops
          path: /v3/application/shops/{shop_id}
          operations:
            - name: getShop
              method: GET
              description: Get Shop
              inputParameters:
                - name: shop_id
                  in: path
                  type: integer
                  required: true
                  description: The unique positive non-zero numeric ID for an Etsy Shop.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: updateShop
              method: PUT
              description: Update Shop
              inputParameters:
                - name: shop_id
                  in: path
                  type: integer
                  required: true
                  description: The unique positive non-zero numeric ID for an Etsy Shop.
                - name: body
                  in: body
                  type: object
                  required: false
                  description: JSON request body.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: users-shops
          path: /v3/application/users/{user_id}/shops
          operations:
            - name: getShopByOwnerUserId
              method: GET
              description: Get Shop by Owner User Id
              inputParameters:
                - name: user_id
                  in: path
                  type: integer
                  required: true
                  description: The numeric user ID of the [user](/documentation/reference#tag/User) who owns this shop.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: shops
          path: /v3/application/shops
          operations:
            - name: findShops
              method: GET
              description: Find Shops
              inputParameters:
                - name: shop_name
                  in: query
                  type: string
                  required: true
                  description: The shop's name string.
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: The maximum number of results to return.
                - name: offset
                  in: query
                  type: integer
                  required: false
                  description: The number of records to skip before selecting the first result.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
  exposes:
    - type: rest
      namespace: open-api-v3-shop-rest
      port: 8080
      description: REST adapter for Etsy Open API v3 — Shop. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/shops/{shop_id}
          name: shops
          description: REST surface for shops.
          operations:
            - method: GET
              name: getShop
              description: Get Shop
              call: open-api-v3-shop.getShop
              with:
                shop_id: rest.shop_id
              outputParameters:
                - type: object
                  mapping: $.
            - method: PUT
              name: updateShop
              description: Update Shop
              call: open-api-v3-shop.updateShop
              with:
                shop_id: rest.shop_id
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/users/{user_id}/shops
          name: users-shops
          description: REST surface for users-shops.
          operations:
            - method: GET
              name: getShopByOwnerUserId
              description: Get Shop by Owner User Id
              call: open-api-v3-shop.getShopByOwnerUserId
              with:
                user_id: rest.user_id
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/shops
          name: shops
          description: REST surface for shops.
          operations:
            - method: GET
              name: findShops
              description: Find Shops
              call: open-api-v3-shop.findShops
              with:
                shop_name: rest.shop_name
                limit: rest.limit
                offset: rest.offset
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: open-api-v3-shop-mcp
      port: 9090
      transport: http
      description: MCP adapter for Etsy Open API v3 — Shop. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: get-shop
          description: Get Shop
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: open-api-v3-shop.getShop
          with:
            shop_id: tools.shop_id
          outputParameters:
            - type: object
              mapping: $.
        - name: update-shop
          description: Update Shop
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: open-api-v3-shop.updateShop
          with:
            shop_id: tools.shop_id
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.
        - name: get-shop-owner-user-id
          description: Get Shop by Owner User Id
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: open-api-v3-shop.getShopByOwnerUserId
          with:
            user_id: tools.user_id
          outputParameters:
            - type: object
              mapping: $.
        - name: find-shops
          description: Find Shops
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: open-api-v3-shop.findShops
          with:
            shop_name: tools.shop_name
            limit: tools.limit
            offset: tools.offset
          outputParameters:
            - type: object
              mapping: $.