eBay · Capability

eBay Inventory API — Location

eBay Inventory API — Location. 7 operations. Lead operation: Location. Self-contained Naftiko capability covering one Ebay business surface.

Run with Naftiko EbayLocation

What You Can Do

GET
Getinventorylocations — This call retrieves all defined details for every inventory location associated with the seller's account. There are no required parameters for this call and no request payload. However, there are two optional query parameters, limi
/v1/location
GET
Getinventorylocation — This call retrieves all defined details of the inventory location that is specified by the merchantLocationKey path parameter.

The authorization HTTP header is the only required request header for this call.

A

/v1/location/{merchantlocationkey}
POST
Createinventorylocation

Use this call to create a new inventory location. In order to create and publish an offer (and create an eBay listing), a seller must have at least one inventory location, as every offer must be associated with a location.

Upon fir

/v1/location/{merchantlocationkey}
DELETE
Deleteinventorylocation

This call deletes the inventory location that is specified in the merchantLocationKey path parameter. Note that deleting a location will not affect any active eBay listings associated with the deleted location, but the selle

/v1/location/{merchantlocationkey}
POST
Disableinventorylocation

This call disables the inventory location that is specified in the merchantLocationKey path parameter. Sellers can not load/modify inventory to disabled inventory locations. Note that disabling an inventory location will not

/v1/location/{merchantlocationkey}/disable
POST
Enableinventorylocation

This call enables a disabled inventory location that is specified in the merchantLocationKey path parameter. Once a disabled inventory location is enabled, sellers can start loading/modifying inventory to that inventory loca

/v1/location/{merchantlocationkey}/enable
POST
Updateinventorylocation

Use this call to update non-physical location details for an existing inventory location. Specify the inventory location you want to update using the merchantLocationKey path parameter.

You can update the following text-ba

/v1/location/{merchantlocationkey}/update-location-details

MCP Tools

this-call-retrieves-all-defined

This call retrieves all defined details for every inventory location associated with the seller's account. There are no required parameters for this call and no request payload. However, there are two optional query parameters, limi

read-only idempotent
this-call-retrieves-all-defined-2

This call retrieves all defined details of the inventory location that is specified by the merchantLocationKey path parameter.

The authorization HTTP header is the only required request header for this call.

A

read-only idempotent
p-use-this-call-create-new

Use this call to create a new inventory location. In order to create and publish an offer (and create an eBay listing), a seller must have at least one inventory location, as every offer must be associated with a location.

Upon fir

p-this-call-deletes-inventory-location

This call deletes the inventory location that is specified in the merchantLocationKey path parameter. Note that deleting a location will not affect any active eBay listings associated with the deleted location, but the selle

idempotent
p-this-call-disables-inventory-location

This call disables the inventory location that is specified in the merchantLocationKey path parameter. Sellers can not load/modify inventory to disabled inventory locations. Note that disabling an inventory location will not

p-this-call-enables-disabled-inventory

This call enables a disabled inventory location that is specified in the merchantLocationKey path parameter. Once a disabled inventory location is enabled, sellers can start loading/modifying inventory to that inventory loca

p-use-this-call-update-non

Use this call to update non-physical location details for an existing inventory location. Specify the inventory location you want to update using the merchantLocationKey path parameter.

You can update the following text-ba

Capability Spec

inventory-location.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: eBay Inventory API — Location
  description: 'eBay Inventory API — Location. 7 operations. Lead operation: Location. Self-contained Naftiko capability covering
    one Ebay business surface.'
  tags:
  - Ebay
  - Location
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    EBAY_API_KEY: EBAY_API_KEY
capability:
  consumes:
  - type: http
    namespace: inventory-location
    baseUri: https://api.ebay.com{basePath}
    description: eBay Inventory API — Location business capability. Self-contained, no shared references.
    resources:
    - name: location
      path: /location
      operations:
      - name: getinventorylocations
        method: GET
        description: This call retrieves all defined details for every inventory location associated with the seller's account.
          There are no required parameters for this call and no request payload. However, there are two optional query parameters,
          <strong>limi
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: string
          description: The value passed in this query parameter sets the maximum number of records to return per page of data.
            Although this field is a string, the value passed in thi
        - name: offset
          in: query
          type: string
          description: Specifies the number of locations to skip in the result set before returning the first location in
            the paginated response.  <p>Combine <b>offset</b> with the <b
    - name: location-merchantLocationKey
      path: /location/{merchantLocationKey}
      operations:
      - name: getinventorylocation
        method: GET
        description: 'This call retrieves all defined details of the inventory location that is specified by the <b>merchantLocationKey</b>
          path parameter. <p>The <code>authorization</code> HTTP header is the only required request header for this call.
          </p><p>A '
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: merchantLocationKey
          in: path
          type: string
          description: This path parameter specifies the unique merchant-defined key (ID) for an inventory location that is
            being retrieved. <br><br>Use the <a href="/api-docs/sell/in
          required: true
      - name: createinventorylocation
        method: POST
        description: <p>Use this call to create a new inventory location. In order to create and publish an offer (and create
          an eBay listing), a seller must have at least one inventory location, as every offer must be associated with a location.</p><p>Upon
          fir
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: merchantLocationKey
          in: path
          type: string
          description: 'This path parameter specifies the unique, seller-defined key (ID) for an inventory location.<br><br><b>Max
            length</b>: 36'
          required: true
        - name: Content-Type
          in: header
          type: string
          description: 'This header indicates the format of the request body provided by the client. Its value should be set
            to <b>application/json</b>. <br><br> For more information, '
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteinventorylocation
        method: DELETE
        description: <p>This call deletes the inventory location that is specified in the <code>merchantLocationKey</code>
          path parameter. Note that deleting a location will not affect any active eBay listings associated with the deleted
          location, but the selle
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: merchantLocationKey
          in: path
          type: string
          description: This path parameter specifies the unique merchant-defined key (ID) for the inventory location that
            is to be deleted.<br><br>Use the <a href="/api-docs/sell/inve
          required: true
    - name: location-merchantLocationKey-disable
      path: /location/{merchantLocationKey}/disable
      operations:
      - name: disableinventorylocation
        method: POST
        description: <p>This call disables the inventory location that is specified in the <code>merchantLocationKey</code>
          path parameter. Sellers can not load/modify inventory to disabled inventory locations. Note that disabling an inventory
          location will not
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: merchantLocationKey
          in: path
          type: string
          description: This path parameter specifies the unique merchant-defined key (ID) for an inventory location that is
            to be disabled. <br><br>Use the <a href="/api-docs/sell/inv
          required: true
    - name: location-merchantLocationKey-enable
      path: /location/{merchantLocationKey}/enable
      operations:
      - name: enableinventorylocation
        method: POST
        description: <p>This call enables a disabled inventory location that is specified in the <code>merchantLocationKey</code>
          path parameter. Once a disabled inventory location is enabled, sellers can start loading/modifying inventory to
          that inventory loca
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: merchantLocationKey
          in: path
          type: string
          description: This path parameter specifies unique merchant-defined key (ID) for a <code>disabled</code> inventory
            location that is to be enabled.<br><br>Use the <a href="/ap
          required: true
    - name: location-merchantLocationKey-update_location_details
      path: /location/{merchantLocationKey}/update_location_details
      operations:
      - name: updateinventorylocation
        method: POST
        description: <p>Use this call to update non-physical location details for an existing inventory location. Specify
          the inventory location you want to update using the <b>merchantLocationKey</b> path parameter. <br><br>You can update
          the following text-ba
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: merchantLocationKey
          in: path
          type: string
          description: This path parameter specifies the unique merchant-defined key (ID) for an inventory location that is
            to be updated. <br><br>Use the <a href="/api-docs/sell/inve
          required: true
        - name: Content-Type
          in: header
          type: string
          description: 'This header indicates the format of the request body provided by the client. Its value should be set
            to <b>application/json</b>. <br><br> For more information, '
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.EBAY_API_KEY}}'
  exposes:
  - type: rest
    namespace: inventory-location-rest
    port: 8080
    description: REST adapter for eBay Inventory API — Location. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/location
      name: location
      description: REST surface for location.
      operations:
      - method: GET
        name: getinventorylocations
        description: This call retrieves all defined details for every inventory location associated with the seller's account.
          There are no required parameters for this call and no request payload. However, there are two optional query parameters,
          <strong>limi
        call: inventory-location.getinventorylocations
        with:
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/location/{merchantlocationkey}
      name: location-merchantlocationkey
      description: REST surface for location-merchantLocationKey.
      operations:
      - method: GET
        name: getinventorylocation
        description: 'This call retrieves all defined details of the inventory location that is specified by the <b>merchantLocationKey</b>
          path parameter. <p>The <code>authorization</code> HTTP header is the only required request header for this call.
          </p><p>A '
        call: inventory-location.getinventorylocation
        with:
          merchantLocationKey: rest.merchantLocationKey
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createinventorylocation
        description: <p>Use this call to create a new inventory location. In order to create and publish an offer (and create
          an eBay listing), a seller must have at least one inventory location, as every offer must be associated with a location.</p><p>Upon
          fir
        call: inventory-location.createinventorylocation
        with:
          merchantLocationKey: rest.merchantLocationKey
          Content-Type: rest.Content-Type
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteinventorylocation
        description: <p>This call deletes the inventory location that is specified in the <code>merchantLocationKey</code>
          path parameter. Note that deleting a location will not affect any active eBay listings associated with the deleted
          location, but the selle
        call: inventory-location.deleteinventorylocation
        with:
          merchantLocationKey: rest.merchantLocationKey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/location/{merchantlocationkey}/disable
      name: location-merchantlocationkey-disable
      description: REST surface for location-merchantLocationKey-disable.
      operations:
      - method: POST
        name: disableinventorylocation
        description: <p>This call disables the inventory location that is specified in the <code>merchantLocationKey</code>
          path parameter. Sellers can not load/modify inventory to disabled inventory locations. Note that disabling an inventory
          location will not
        call: inventory-location.disableinventorylocation
        with:
          merchantLocationKey: rest.merchantLocationKey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/location/{merchantlocationkey}/enable
      name: location-merchantlocationkey-enable
      description: REST surface for location-merchantLocationKey-enable.
      operations:
      - method: POST
        name: enableinventorylocation
        description: <p>This call enables a disabled inventory location that is specified in the <code>merchantLocationKey</code>
          path parameter. Once a disabled inventory location is enabled, sellers can start loading/modifying inventory to
          that inventory loca
        call: inventory-location.enableinventorylocation
        with:
          merchantLocationKey: rest.merchantLocationKey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/location/{merchantlocationkey}/update-location-details
      name: location-merchantlocationkey-update-location-details
      description: REST surface for location-merchantLocationKey-update_location_details.
      operations:
      - method: POST
        name: updateinventorylocation
        description: <p>Use this call to update non-physical location details for an existing inventory location. Specify
          the inventory location you want to update using the <b>merchantLocationKey</b> path parameter. <br><br>You can update
          the following text-ba
        call: inventory-location.updateinventorylocation
        with:
          merchantLocationKey: rest.merchantLocationKey
          Content-Type: rest.Content-Type
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: inventory-location-mcp
    port: 9090
    transport: http
    description: MCP adapter for eBay Inventory API — Location. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: this-call-retrieves-all-defined
      description: This call retrieves all defined details for every inventory location associated with the seller's account.
        There are no required parameters for this call and no request payload. However, there are two optional query parameters,
        <strong>limi
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: inventory-location.getinventorylocations
      with:
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: this-call-retrieves-all-defined-2
      description: 'This call retrieves all defined details of the inventory location that is specified by the <b>merchantLocationKey</b>
        path parameter. <p>The <code>authorization</code> HTTP header is the only required request header for this call. </p><p>A '
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: inventory-location.getinventorylocation
      with:
        merchantLocationKey: tools.merchantLocationKey
      outputParameters:
      - type: object
        mapping: $.
    - name: p-use-this-call-create-new
      description: <p>Use this call to create a new inventory location. In order to create and publish an offer (and create
        an eBay listing), a seller must have at least one inventory location, as every offer must be associated with a location.</p><p>Upon
        fir
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: inventory-location.createinventorylocation
      with:
        merchantLocationKey: tools.merchantLocationKey
        Content-Type: tools.Content-Type
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-this-call-deletes-inventory-location
      description: <p>This call deletes the inventory location that is specified in the <code>merchantLocationKey</code> path
        parameter. Note that deleting a location will not affect any active eBay listings associated with the deleted location,
        but the selle
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: inventory-location.deleteinventorylocation
      with:
        merchantLocationKey: tools.merchantLocationKey
      outputParameters:
      - type: object
        mapping: $.
    - name: p-this-call-disables-inventory-location
      description: <p>This call disables the inventory location that is specified in the <code>merchantLocationKey</code>
        path parameter. Sellers can not load/modify inventory to disabled inventory locations. Note that disabling an inventory
        location will not
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: inventory-location.disableinventorylocation
      with:
        merchantLocationKey: tools.merchantLocationKey
      outputParameters:
      - type: object
        mapping: $.
    - name: p-this-call-enables-disabled-inventory
      description: <p>This call enables a disabled inventory location that is specified in the <code>merchantLocationKey</code>
        path parameter. Once a disabled inventory location is enabled, sellers can start loading/modifying inventory to that
        inventory loca
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: inventory-location.enableinventorylocation
      with:
        merchantLocationKey: tools.merchantLocationKey
      outputParameters:
      - type: object
        mapping: $.
    - name: p-use-this-call-update-non
      description: <p>Use this call to update non-physical location details for an existing inventory location. Specify the
        inventory location you want to update using the <b>merchantLocationKey</b> path parameter. <br><br>You can update
        the following text-ba
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: inventory-location.updateinventorylocation
      with:
        merchantLocationKey: tools.merchantLocationKey
        Content-Type: tools.Content-Type
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.