Invendor Locations API

The Locations API from Invendor — 21 operation(s) for locations.

OpenAPI Specification

invendor-locations-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: IO.Common Accounts Locations API
  version: '1.0'
security:
- OAuth2: []
tags:
- name: Locations
paths:
  /v1/Locations:
    get:
      tags:
      - Locations
      summary: Get all locations
      operationId: GetAllLocations
      parameters:
      - name: Type
        in: query
        schema:
          $ref: '#/components/schemas/LocationType'
      - name: WithProperties
        in: query
        schema:
          type: boolean
      - name: Filter
        in: query
        schema:
          type: string
      - name: Page
        in: query
        schema:
          type: integer
          format: int32
      - name: PageSize
        in: query
        schema:
          type: integer
          format: int32
      - name: SortColumn
        in: query
        schema:
          type: string
      - name: SortOrder
        in: query
        schema:
          type: string
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationResponsePagedResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    post:
      tags:
      - Locations
      summary: Create a new locations
      operationId: Create location
      parameters:
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Request object that contains all the data needed to create a new location
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateLocationRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateLocationRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateLocationRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateLocationRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Int32ResourceCreatedResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '422':
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{serviceId}:
    get:
      tags:
      - Locations
      summary: Get service locations
      operationId: Get service locations
      parameters:
      - name: serviceId
        in: path
        description: ''
        required: true
        schema:
          type: string
          format: uuid
      - name: Type
        in: query
        schema:
          $ref: '#/components/schemas/LocationType'
      - name: WithProperties
        in: query
        schema:
          type: boolean
      - name: Filter
        in: query
        schema:
          type: string
      - name: Page
        in: query
        schema:
          type: integer
          format: int32
      - name: PageSize
        in: query
        schema:
          type: integer
          format: int32
      - name: SortColumn
        in: query
        schema:
          type: string
      - name: SortOrder
        in: query
        schema:
          type: string
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{id}:
    get:
      tags:
      - Locations
      summary: Get location details
      operationId: Get locations details
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationDetailsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}:
    put:
      tags:
      - Locations
      summary: Update location details
      operationId: Update locations details
      parameters:
      - name: locationId
        in: path
        description: Location id to be updated
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Request object that contains location details data
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateLocationDetailsRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateLocationDetailsRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateLocationDetailsRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateLocationDetailsRequest'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '422':
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    delete:
      tags:
      - Locations
      summary: Delete location
      operationId: Delete location
      parameters:
      - name: locationId
        in: path
        description: Location id to be deleted
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '422':
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/order-notifications:
    get:
      tags:
      - Locations
      summary: Get order notification settings for location (buyer side)
      operationId: Get location order notification settings
      parameters:
      - name: locationId
        in: path
        description: Location Id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderNotificationSettingsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    put:
      tags:
      - Locations
      summary: Update order notification settings for location (buyer side)
      operationId: Update location order notification settings
      parameters:
      - name: locationId
        in: path
        description: Location Id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Order notification settings
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/accounts/{accountId}/order-notifications:
    get:
      tags:
      - Locations
      summary: Get order notification settings for a vendor account at this location
      operationId: Get vendor order notification settings
      parameters:
      - name: locationId
        in: path
        description: Location Id
        required: true
        schema:
          type: integer
          format: int32
      - name: accountId
        in: path
        description: Vendor Account Id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderNotificationSettingsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    put:
      tags:
      - Locations
      summary: Update order notification settings for a vendor account at this location
      operationId: Update vendor order notification settings
      parameters:
      - name: locationId
        in: path
        description: Location Id
        required: true
        schema:
          type: integer
          format: int32
      - name: accountId
        in: path
        description: Vendor Account Id
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: Order notification settings
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/vendors:
    get:
      tags:
      - Locations
      summary: Get all vendor accounts for a location
      operationId: Get location vendors
      parameters:
      - name: locationId
        in: path
        description: Location Id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VendorAccountResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    post:
      tags:
      - Locations
      summary: Add a vendor account to the location
      operationId: Add vendor to location
      parameters:
      - name: locationId
        in: path
        description: Location Id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Vendor account to add
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/AddVendorAccountRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/AddVendorAccountRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/AddVendorAccountRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/AddVendorAccountRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/vendors/{accountIdToUpdate}:
    put:
      tags:
      - Locations
      summary: Update vendor order notification settings
      operationId: Update vendor notification settings
      parameters:
      - name: locationId
        in: path
        description: Location Id
        required: true
        schema:
          type: integer
          format: int32
      - name: accountIdToUpdate
        in: path
        description: Vendor to update
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Order notification settings
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/OrderNotificationSettingsRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/vendors/{accountIdToRemove}:
    delete:
      tags:
      - Locations
      summary: Remove vendor account from location
      operationId: Remove vendor from location
      parameters:
      - name: locationId
        in: path
        description: Location Id
        required: true
        schema:
          type: integer
          format: int32
      - name: accountIdToRemove
        in: path
        description: Account id to be removed
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/customers:
    get:
      tags:
      - Locations
      summary: Get all customer accounts for a location
      operationId: Get location customers
      parameters:
      - name: locationId
        in: path
        description: Location Id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerAccountResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    put:
      tags:
      - Locations
      summary: Upsert customer accounts for a location
      operationId: Upsert location customers
      parameters:
      - name: locationId
        in: path
        description: Location Id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: List of customer account ids
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              type: array
              items:
                type: integer
                format: int32
          application/json; x-api-version=1.0:
            schema:
              type: array
              items:
                type: integer
                format: int32
          text/json; x-api-version=1.0:
            schema:
              type: array
              items:
                type: integer
                format: int32
          application/*+json; x-api-version=1.0:
            schema:
              type: array
              items:
                type: integer
                format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/groups:
    get:
      tags:
      - Locations
      summary: Get location groups related to current user
      operationId: User groups for user in selected location
      parameters:
      - name: locationId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserProfileResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/devices:
    get:
      tags:
      - Locations
      summary: Returns all devices linked to the location
      operationId: LocationDevicesList
      parameters:
      - name: locationId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    post:
      tags:
      - Locations
      summary: Link location and device
      operationId: Add location device
      parameters:
      - name: locationId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: ''
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/AddLocationDeviceRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/AddLocationDeviceRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/AddLocationDeviceRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/AddLocationDeviceRequest'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/devices/{deviceId}:
    delete:
      tags:
      - Locations
      summary: Unlink device to the location
      operationId: Remove location device
      parameters:
      - name: locationId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: deviceId
        in: path
        required: true
        schema:
          type: string
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/locks:
    get:
      tags:
      - Locations
      summary: Returns all area locks in the location
      operationId: GetLocationLocks
      parameters:
      - name: locationId
        in: path
        description: Location id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LocationAreaLocksResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/{locationId}/locks/{wmsAreaId}:
    get:
      tags:
      - Locations
      summary: Returns all area locks for the given area in the location
      operationId: GetAreaLocks
      parameters:
      - name: locationId
        in: path
        description: Location id
        required: true
        schema:
          type: integer
          format: int32
      - name: wmsAreaId
        in: path
        description: Area id
        required: true
        schema:
          type: string
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationAreaLocksResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    post:
      tags:
      - Locations
      summary: Save all area locks
      operationId: SaveAreaLocks
      parameters:
      - name: locationId
        in: path
        description: Location id
        required: true
        schema:
          type: integer
          format: int32
      - name: wmsAreaId
        in: path
        description: Area id
        required: true
        schema:
          type: string
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Create lock request
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AreaLockRequest'
          application/json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AreaLockRequest'
          text/json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AreaLockRequest'
          application/*+json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AreaLockRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/properties:
    get:
      tags:
      - Locations
      summary: Get the list of all the properties added to locations
      operationId: GetAllUsedLocationProperties
      parameters:
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Locations/definedProperties:
    get:
      tags:
      - Locations
      summary: Get the defined properties for locations
      operationId: Get defined properties for locations
      parameters:
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetDefinedPropertyParametersResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    post:
      tags:
      - Locations
      summary: Create new location property with parameters
      operationId: Create location defined property with parameters
      parameters:
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: ''
        content:
          application/json-patch+json; x-

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/invendor/refs/heads/main/openapi/invendor-locations-api-openapi.yml