ServiceChannel Assets API

The Assets API from ServiceChannel — 83 operation(s) for assets.

OpenAPI Specification

servicechannel-assets-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: bearer.v1
  title: Fixxbook.Bearer.Api.V1 AfterHours Assets API
  isOdataApi: false
  relativePath: ''
  discoveryPath: docs/bearer.v1
  _isAuthorizedAccess: true
host: sb2fixxbook.servicechannel.com:443
basePath: /api
schemes:
- https
security:
- oauth2: []
tags:
- name: Assets
paths:
  /assets/{assetId}:
    get:
      tags:
      - Assets
      summary: Get an asset
      description: "Returns the details of the specified asset for the current subscriber.<br />\r\n            Send the [GET/ assets/locations/{locationId}](/swagger/ui/index?version=3#/Assets/GETv3_assets_locations__locationId__trade__trade_) request to retrieve assets for a particular location."
      operationId: GETv3_assets_{assetId}?locationId={locationId}&storeId={storeId}&tagId={tagId}&trackingNumber={trackingNumber}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: assetId
        in: path
        description: Unique numeric asset identifier you want to get information of.
        required: true
        type: integer
        format: int32
      - name: locationId
        in: query
        description: Unique numeric location identifier. Should be paired with the `tagId` parameter to work correctly.
        required: false
        type: integer
        format: int32
      - name: storeId
        in: query
        description: Alphanumeric location identifier in the client’s system. Should be paired with the `tagId` parameter to work correctly.
        required: false
        type: string
      - name: tagId
        in: query
        description: Alphanumeric asset identifier assigned by the client. Should be paired with either `locationId` or `storeId` to work correctly.
        required: false
        type: string
      - name: trackingNumber
        in: query
        description: 'Unique ID of the work order. Use the parameter to get asset validation attributes: `AssetValidated`, `ValidationRequired`.'
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: The details of the requested asset are in the response.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.AssetResponse'
        '400':
          description: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '404':
          description: "The request URI is incorrect, or the resource does not exist.\r\n            <br/>Error codes:\r\n            502 — Asset is not found"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/AssociateAssetCode:
    post:
      tags:
      - Assets
      summary: Associate Asset Code
      operationId: POSTv3_assets_AssociateAssetCode
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Equipments.AssociateAssetRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/System.Object'
      deprecated: false
      x-access: Any
  /assets/searchassets:
    post:
      tags:
      - Assets
      summary: Search Assets
      operationId: POSTv3_assets_searchassets
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Equipments.SearchAssetRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/System.Object'
      deprecated: false
      x-access: Any
  /assets/assetsforreplacement:
    post:
      tags:
      - Assets
      summary: Get Assets For Replacement
      operationId: POSTv3_assets_assetsforreplacement
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.GetAssetsForReplacementRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/System.Object'
      deprecated: false
      x-access: Any
  /assets/assetcomponents:
    post:
      tags:
      - Assets
      summary: Get circuits and components
      description: "Retrieves all circuits and components added to the specified parent assets.\r\n            <br />Learn more about [updating assets on work orders](https://servicechannel.atlassian.net/wiki/spaces/SCU/pages/1484194012/Updating+Assets+on+Work+Orders) in ServiceChannel University."
      operationId: POSTv3_assets_assetcomponents
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        description: "Request to get circuits and components for the specified parent assets.\r\n            <br />Request parameters:\r\n             • **ParentIds**. Add one or several asset IDs you want to get circuits and components for.\r\n             • **OnlyRefrigerantTrackingAssets**. Enter `true` to retrieve only circuits and components that contain refrigerant and F-gases."
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Equipments.AssetComponentsRequest'
      responses:
        '200':
          description: The circuits and components for the specified parent assets are in the response.
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: "The server was unable to complete the request due to an internal error.\r\n            <br/>Error codes:\r\n            501 — Object reference is not set to an instance of an object"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/getfilteredassets:
    post:
      tags:
      - Assets
      summary: Get Filtered Assets
      operationId: POSTv3_assets_getfilteredassets
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.GetFilteredAssetsRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/System.Object'
      deprecated: false
      x-access: Any
  /assets/getfilteredassetsV1:
    post:
      tags:
      - Assets
      summary: Get Filtered Assets V1
      operationId: POSTv3_assets_getfilteredassetsV1?providerId={providerId}
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        description: The request to perform action with.
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.GetFilteredAssetsRequest'
      - name: providerId
        in: query
        description: The provider identifier. Required for sub-contractor request. [Required Special permissions]
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/System.Object'
      deprecated: false
      x-access: Any
  /assets/getfilteredassetleaks:
    post:
      tags:
      - Assets
      summary: Ge tFiltered Asset Leaks
      operationId: POSTv3_assets_getfilteredassetleaks
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        description: ''
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.GetFilteredAssetsRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/System.Object'
      deprecated: false
      x-access: Any
  /assets/getwoassettracking:
    post:
      tags:
      - Assets
      summary: Get Wo Asset Tracking
      operationId: POSTv3_assets_getwoassettracking?woId={woId}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: woId
        in: query
        description: ''
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/System.Object'
      deprecated: false
      x-access: Any
  /assets/WoAssetTags:
    get:
      tags:
      - Assets
      summary: Get Wo Asset Tags and Tag IDs
      operationId: GETv3_assets_WoAssetTags?recIds[0]={recIds[0]}&recIds[1]={recIds[1]}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: recIds
        in: query
        description: ''
        required: true
        type: array
        items:
          type: integer
          format: int32
        collectionFormat: multi
      responses:
        '200':
          description: Request succeeded and response contains list of WO asset tags and asset tag IDs
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.WOAssetTagResponse'
        '400':
          description: Request did not succeed and response contains error information
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/locations/{locationId}:
    get:
      tags:
      - Assets
      summary: Get assets
      description: "Returns a list of assets with all details for the specified location. Enter the `trade` parameter to make your request more specific.\r\n             <br />\r\n             You can use the [GET/assets/{assetId}](/swagger/ui/index?version=3#/Assets/GETv3_assets__assetId__locationId__locationId__storeId__storeId__tagId__tagId__trackingNumber__trackingNumber_) method to get the details of a particular asset."
      operationId: GETv3_assets_locations_{locationId}?trade={trade}&tradeId={tradeId}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: locationId
        in: path
        description: Unique numeric identifier of the location you want to retrieve assets details of.
        required: true
        type: integer
        format: int32
      - name: trade
        in: query
        description: Trade of an asset type the asset is assigned to, for example, *CARPENTRY* or *PLUMBING*
        required: false
        type: string
      - name: tradeId
        in: query
        description: Trade id of an asset type the asset is assigned to.
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: The assets for the specified location are in the response.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.AssetsInfoResponse'
        '400':
          description: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '404':
          description: The request URI is incorrect, or the resource does not exist.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/locationAssetsTree:
    post:
      tags:
      - Assets
      operationId: POSTv3_assets_locationAssetsTree?locationId={locationId}&trade={trade}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: locationId
        in: query
        required: true
        type: integer
        format: int32
      - name: trade
        in: query
        required: false
        type: string
      responses:
        '200':
          description: Request succeeded and the requested information is in the response.
          schema:
            type: array
            items:
              $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.AssetsResponseTreeNode'
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\r\n            <br/>Error codes:\r\n            503 — User info should not be null;\r\n            SubscriberId is null;"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "Unauthorized indicates that the requested resource requires authentication.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions;"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/getassetwohistory:
    post:
      tags:
      - Assets
      summary: Get Assets WorkOrders
      description: This method allows to get WorkOrder objects by Asset Ids.<br />
      operationId: POSTv3_assets_getassetwohistory?workOrdersCount={workOrdersCount}
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: assetIds
        in: body
        description: ''
        required: true
        schema:
          type: array
          items:
            format: int32
            type: integer
      - name: workOrdersCount
        in: query
        description: ''
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: Request succeeded and the requested information is in the response.
          schema:
            type: object
            additionalProperties:
              type: array
              items:
                $ref: '#/definitions/ServiceChannel.Services.Messaging.Workorders.WorkOrder'
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\r\n            <br/>Error codes:\r\n            503 — User info should not be null;\r\n            SubscriberId is null;"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "Unauthorized indicates that the requested resource requires authentication.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions;"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets:
    put:
      tags:
      - Assets
      summary: Update an asset
      description: Modifies the details of an existing asset.
      operationId: PUTv3_assets
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: assetRequest
        in: body
        description: "Request model to update an asset.\r\n            <br />The following parameters are required in the request:\r\n             • **Id**: Unique numeric identification number of an asset you want to update.\r\n             • **Tag**: Alphanumeric asset identifier assigned by the client, aka **Tag ID**.\r\n             • **Manufacturer**: Company brand that produces an asset and exists in the system.\r\n             • **StoreId**: Alphanumeric identifier of the existing location.\r\n             • **Trade**: The line of work an asset is used for. For example, *ELECTRICAL*, *CARPENTRY*, *CCTV*.\r\n             • **Type**: Type of an asset. For example, *Refrigerator*, *Computer Monitor*.\r\n            <br />***Note***. The `Tag` and `Location` parameters should remain unchanged."
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.UpdateAssetRequest'
      responses:
        '200':
          description: The ID of the updated asset is in the response.
          schema:
            $ref: '#/definitions/System.Object'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            502 — No asset to update\r\n            502 — Asset is not found\r\n            503 — Unknown Brand name\r\n            503 — Request is empty or null\r\n            503 — Do not have rights for editing Asset\r\n            503 — Unknown Equipment type\r\n            503 — 'Uses Refrigerant' attribute can not be changed\r\n            503 — Asset location can not be changed: There are active PM services for this asset."
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: "The server was unable to complete the request due to an internal error.\r\n            <br>Error codes:\r\n            501 — Object reference is not set to an instance of an object."
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '502':
          description: The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
    post:
      tags:
      - Assets
      summary: Add an asset
      description: "Creates a new asset for the existing asset type. Since you need to specify which type an asset will belong to, you can:\r\n            <br /> • use the [GET /AssetTypes](/swagger/ui/index?version=3#/AssetTypes/GETv3_AssetTypes) method to get a list of asset types of the current provider.\r\n            <br /> • create a new asset type by sending the [POST /AssetTypes](/swagger/ui/index?version=3#/AssetTypes/POSTv3_AssetTypes) request.\r\n            <br />You can learn more about [adding and editing assets](https://servicechannel.atlassian.net/wiki/spaces/SCU/pages/573178120/Adding+and+Editing+Assets) in ServiceChannel University."
      operationId: POSTv3_assets
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: assetRequest
        in: body
        description: "Request to create a new asset.\r\n            <br />Required parameters:\r\n            <br /> • **Tag** (aka **Tag ID**). Create an alphanumeric identifier for your asset, for example, AD-3421\r\n            <br /> • **Manufacturer**. Enter the brand name that exists in the system.\r\n            <br /> • **StoreId**. Specify the alphanumeric identifier of the existing location.\r\n            <br /> • **Trade**. Define the line of work an asset is used for, for example, *Electrical*, *Plumbing*, *Carpentry*.\r\n            <br /> • **Type**. Enter the type of an asset, for example, *Refrigerator*, *Computer Monitor*."
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.AddAssetRequest'
      responses:
        '201':
          description: The created asset ID is in the response.
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            503 — Unknown Brand name\r\n            503 — Asset Tag ID is empty\r\n            503 — Request is empty or null\r\n            503 — No Store ID in the request\r\n            503 — Trade not found \r\n            503 — Unknown Equipment type\r\n            503 — Unknown Store ID\r\n            503 — Other Trade in Asset Type"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/UpdateAssetTypeInAsset:
    put:
      tags:
      - Assets
      operationId: PUTv3_assets_UpdateAssetTypeInAsset
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.BulkUpdateAssetTypeInAssetRequest'
      responses:
        '200':
          description: The result of operation is in the response
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.AssetTypeInAssetReponse[System.Collections.Generic.List[ServiceChannel.Services.Core.AssetTransferProcessingData]]'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            500 — Internal server error"
        '401':
          description: "The request is not authorized.\r\n            <br>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: "The server was unable to complete the request due to an internal error.\r\n            <br>Error codes:\r\n            501 — Object reference is not set to an instance of an object."
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/AddUpdateAsset:
    post:
      tags:
      - Assets
      summary: Add Update Asset
      operationId: POSTv3_assets_AddUpdateAsset
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.AddUpdateAssetRequest'
      responses:
        '200':
          description: The ID of the updated asset is in the response.
          schema:
            $ref: '#/definitions/System.Object'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            502 — No asset to update\r\n            502 — Asset is not found\r\n            503 — Unknown Brand name\r\n            503 — Request is empty or null\r\n            503 — Do not have rights for editing Asset\r\n            503 — Unknown Equipment type\r\n            503 — 'Uses Refrigerant' attribute can not be changed\r\n            503 — Asset location can not be changed: There are active PM services for this asset."
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: "The server was unable to complete the request due to an internal error.\r\n            <br>Error codes:\r\n            501 — Object reference is not set to an instance of an object."
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '502':
          description: The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Subscribers
  /assets/Activation:
    post:
      tags:
      - Assets
      summary: Activates or deactivates an asset depending on passed parameter.
      operationId: POSTv3_assets_Activation
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        description: "A set of values to indicate asset and action.\r\n            IsActive \"true\" means that asset must be activated.\r\n            IsActive \"false\" means that asset must be inactivated."
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Equipments.ActivateAssetRequest'
      responses:
        '200':
          description: Indicates that the request succeeded and that the requested information is in the response.
          schema:
            $ref: '#/definitions/System.Object'
        '400':
          description: Bad Request - the request could not be understood or was missing required parameters.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: Indicates that the requested resource requires authentication.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '403':
          description: Forbidden - the data could not be processed by security reasons.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Subscribers
  /assets/workorders/{workorderId}/attach:
    put:
      tags:
      - Assets
      summary: Replace an asset
      description: "Replaces one asset with another for the specified work order, or when the work order has no asset, attaches it.  \r\n            <br />Successful response returns `AssetId` and information about asset validation. \r\n            <br />***Note***: A work order and an asset should belong to the same trade and location.\r\n            <br />***Note***: This method cannot be used if a work order has more than one asset attached."
      operationId: PUTv3_assets_workorders_{workorderId}_attach
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: workorderId
        in: path
        description: Unique numeric identifier of the work order you want to assign an asset to. To retrieve IDs of work orders, use the [GET /workorders](/swagger/ui/index?version=3#/WorkOrders/GETv3_workorders_locationId__locationId__storeId__storeId_) method.
        required: true
        type: integer
        format: int32
      - name: attachAssetRequest
        in: body
        description: Request to assign the specified asset
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.AttachAssetRequest'
      responses:
        '200':
          description: The ID of the asset attached to the work order is in the response.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.AttachAssetResponse'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            502 — Asset is not found or Asset Location/Trade does not correspond to WO Location/Trade\r\n            502 — Work order is not found"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '403':
          description: "You are not authorized to request this resource, or the resource is unavailable for some reason.\r\n            <br/>Error codes:\r\n            100 — Current Asset has already been assigned to the work order RecId: workorderId\r\n            100 — Work Order either has connection with a leak record or is a Leak Inspection."
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: "The server was unable to complete the request due to an internal error.\r\n            <br/>Error codes:\r\n            501 — Object reference is not set to an instance of an object"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/workorders/attachassets:
    put:
      tags:
      - Assets
      summary: Add assets
      description: "Assigns several assets to the specified work order at a time. The *MultipleAssetsPerWorkOrder* FF should be enabled for the method to work properly.\r\n            <br />***Note***: Assets added before will remain attached to the work order along with the new ones."
      operationId: PUTv3_assets_workorders_attachassets
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        description: Request to add one or several assets to a particular work order.
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.UpdateAssetsInWORequest'
      responses:
        '200':
          description: The specified assets are attached to the work order.
          schema:
            $ref: '#/definitions/System.Object'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            502 — Asset is not found"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/workorders/setupassets:
    put:
      tags:
      - Assets
      summary: Add and replace assets
      description: "Assigns several assets to the specified work order at a time. The *MultipleAssetsPerWorkOrder* FF should be enabled for the method to work properly.\r\n            <br />***Note***. Existing assets will be replaced with the new ones."
      operationId: PUTv3_assets_workorders_s

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