ServiceChannel Assets API

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

Operations 88

GET /assets/{assetId} Get an asset #
POST /assets/AssociateAssetCode Associate Asset Code #
POST /assets/searchassets Search Assets #
POST /assets/assetsforreplacement Get Assets For Replacement #
POST /assets/assetcomponents Get circuits and components #
POST /assets/getfilteredassets Get Filtered Assets #
POST /assets/getfilteredassetsV1 Get Filtered Assets V1 #
POST /assets/getfilteredassetleaks Ge tFiltered Asset Leaks #
POST /assets/getwoassettracking Get Wo Asset Tracking #
GET /assets/WoAssetTags Get Wo Asset Tags and Tag IDs #
GET /assets/locations/{locationId} Get assets #
POST /assets/locationAssetsTree #
POST /assets/getassetwohistory Get Assets WorkOrders #
PUT /assets Update an asset #
POST /assets Add an asset #
PUT /assets/UpdateAssetTypeInAsset #
POST /assets/AddUpdateAsset Add Update Asset #
POST /assets/Activation Activates or deactivates an asset depending on passed parameter. #
PUT /assets/workorders/{workorderId}/attach Replace an asset #
PUT /assets/workorders/attachassets Add assets #
PUT /assets/workorders/setupassets Add and replace assets #
PUT /assets/workrequest/setup Setup assets to the work request #
POST /assets/workrequest/remove Remove specified assets from specified work request #
GET /assets/workrequest/{workRequestId} Setup assets to the specified work order #
POST /assets/workorders/removeassets Remove specified assets from specified work order #
PUT /assets/workorders/{workorderId}/detach Remove assets #
GET /assets/{assetid}/assetwohistory Get asset workorder history #
GET /assets/{assetid}/assetTransferProvider Get Asset Transfer Provider Id #
GET /assets/TransferSettings/{subscriberId} Get Transfer Settings #
GET /assets/Brands Get Brands #
GET /assets/v2/Brands Get Brands (ver.2) #
GET /assets/v3/Brands Get Brands (ver.3) #
POST /assets/{brandName}/AddBrand Add Brand #
GET /assets/assetrepairstatus Get Asset Repair Status By AssetId #
GET /assets/assetstatushistory Get Asset Status History By AssetId #
PUT /assets/updateassetrepairstatus Update Asset Repair Status By AssetId #
POST /assets/RecordScannedAsset Records the result of scanning an asset tag #
POST /assets/HasAssetBeenValidated Determines if the specified asset has had its tag validated or not #
POST /assets/GetAssetValidationInformation Returns asset tag validation information for the specified list of assets #
GET /assets/{subscriberId}/ValidationRules Gets the asset tag validation settings for the specified subscriber. #
GET /assets/ValidationRulesByWOId Gets the asset tag validation settings for the specified work order. #
GET /assets/UnableToValidateReasons Gets list of unable to validate reasons. #
POST /assets/UnableToValidateReasons Creates wo_UnableToValidateAssetHistory. #
GET /assets/UnableToScanReasons Gets list of unable to scan reasons. #
POST /assets/UnableToScanReasons Creates wo_UnableToScanAssetHistory. #
GET /assets/UnableToAddReasons Gets list of unable to add reasons. #
POST /assets/UnableToAddReasons Creates wo_UnableToAddAssetHistory. #
GET /assets/UnableToScanReasonsNotAttachedAsset Gets list of unable to scan reasons not attached assets. #
GET /assets/UnableToValidateReasonsNotAttachedAsset Gets list of unable to validate reasons not attached assets. #
POST /assets/ValidationRulesForMultipleSubscribers Gets the asset tag validation settings for multiple subscribers. #
POST /assets/GetAssetValidationHistoryByTrackingNumber Returns asset tag validation information for the specified assets and the work order #
PUT /assets/updateAssetLocation Update asset location #
GET /assets/{trackingNumber}/IsValidationRequired Get Scan Method #
POST /assets/getPrimaryAttachmentsForAssetList Get primary attachments for asset list #
POST /assets/getPrimaryAttachmentsForAssetList_v1 Get primary attachments for asset list #
GET /assets/{tradeId}/getAssetTypeGroupsByTradeId Get asset type groups by tradeId #
POST /assets/GetAssetTypeGroupsByAssetsIds Get asset type groups by assetsIds #
POST /assets/searchassetsByGroupId Get list of assets grouped by AsseTypeGroupID #
GET /assets/CanUserEditAsset Getting permission for edit asset #
GET /assets/CanCreateAsset/{assetTypeId} Getting permission for provider for create new asset #
GET /assets/CanProviderCreateAssetForTrade/{tradeId} Getting permission for provider for create new asset #
GET /assets/AssetMeterReadings/{assetId} Get asset readings #
PUT /assets/AssetMeterReading Update an asset meter reading #
POST /assets/AssetMeterReading #
POST /assets/CreateAssetMeterReadingsBulk Asset meter readings bulk create #
PUT /assets/UpdateAssetMeterReadingsBulk Asset meter readings bulk update #
POST /assets/AssetMeter Add asset meters #
GET /assets/AssetMeters Get asset meters #
GET /assets/Manufacturer Get Manufacturer #
GET /assets/WorkorderAreas/{subscriberId} Get Work Orders Area list #
POST /assets/GetValidationStatusesForMultipleWorkOrders Gets list of asset validation statuses for multiple work order. #
PUT /assets/updateAssetStatus Update Asset Status By AssetId #
PUT /assets/updateAssetsStatuses Update Assets Statuses #
PUT /assets/canManageAttachments Check if provider is allowed to manage attachments #
POST /assets/checkWOsHaveRefTRackingAssets Check if RT assets can be attached to workOrders #
PUT /assets/CompleteAssetTransfer Complete Asset Transfer #
GET /assets/{assetId}/assetTransferHistory Get Asset Transfer History #
GET /assets/assetTransferReasons Get Asset Transfer Reasons #
POST /assets/assetmerge/validate Validate assets for merging #
POST /assets/assetmerge/mergeAssets Merge assets #
GET /assets/IsRetrofitRetireAllowed Check if retrofit retire allowed #
POST /assets/BulkAddAssetToWo Bulk add/update asset to work order. #
GET /odata/assets({assetId}) Get an asset #
GET /odata/assets/Service.Search(locationId={locationId},code={code}) Get assets by `locationId` and `code` #
GET /odata/assets/Service.AssociateAssetCode(equipmentId={equipmentId},code={code},processDuplicatedAssetTag={processDuplicatedAssetTag}) #
GET /odata/assets/Service.FindAssets(searchCriteria={searchCriteria}) Finds assets using the supplied search criteria. The following fields will be searched for a match to the search criteria: tag ID, asset type, brand, serial Number #
GET /odata/assets/Service.FindAssetsBySubscriber(searchCriteria={searchCriteria},subscriberId={subscriberId}) Finds assets using the supplied search criteria. The following fields will be searched for a match to the search criteria: tag ID, asset type, brand, serial Number #
GET /odata/assets/Service.FindAssetsByLocation(searchCriteria={searchCriteria},locationId={locationId}) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/servicechannel-assets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

servicechannel-assets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: bearer.v1
  title: Fixxbook.Bearer.Api.V1 AfterHours Assets API
  isOdataApi: false
  relativePath: ''
  discoveryPath: docs/bearer.v1
  _isAuthorizedAccess: true
servers:
- url: https://sb2fixxbook.servicechannel.com:443/api
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 />\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}
      parameters:
      - name: assetId
        in: path
        description: Unique numeric asset identifier you want to get information of.
        required: true
        schema:
          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
        schema:
          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
        schema:
          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
        schema:
          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
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The details of the requested asset are in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AssetResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AssetResponse'
        '400':
          description: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\n            <br/>Error codes:\n            504 — API call rejected by security permissions"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '404':
          description: "The request URI is incorrect, or the resource does not exist.\n            <br/>Error codes:\n            502 — Asset is not found"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/AssociateAssetCode:
    post:
      tags:
      - Assets
      summary: Associate Asset Code
      operationId: POSTv3_assets_AssociateAssetCode
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System.Object'
            text/json:
              schema:
                $ref: '#/components/schemas/System.Object'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Equipments.AssociateAssetRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Equipments.AssociateAssetRequest'
        required: true
  /assets/searchassets:
    post:
      tags:
      - Assets
      summary: Search Assets
      operationId: POSTv3_assets_searchassets
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System.Object'
            text/json:
              schema:
                $ref: '#/components/schemas/System.Object'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Equipments.SearchAssetRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Equipments.SearchAssetRequest'
        required: true
  /assets/assetsforreplacement:
    post:
      tags:
      - Assets
      summary: Get Assets For Replacement
      operationId: POSTv3_assets_assetsforreplacement
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System.Object'
            text/json:
              schema:
                $ref: '#/components/schemas/System.Object'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.GetAssetsForReplacementRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.GetAssetsForReplacementRequest'
        required: true
  /assets/assetcomponents:
    post:
      tags:
      - Assets
      summary: Get circuits and components
      description: "Retrieves all circuits and components added to the specified parent assets.\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
      responses:
        '200':
          description: The circuits and components for the specified parent assets are in the response.
        '401':
          description: "The request is not authorized.\n            <br/>Error codes:\n            504 — API call rejected by security permissions"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: "The server was unable to complete the request due to an internal error.\n            <br/>Error codes:\n            501 — Object reference is not set to an instance of an object"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Equipments.AssetComponentsRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Equipments.AssetComponentsRequest'
        description: "Request to get circuits and components for the specified parent assets.\n            <br />Request parameters:\n             • **ParentIds**. Add one or several asset IDs you want to get circuits and components for.\n             • **OnlyRefrigerantTrackingAssets**. Enter `true` to retrieve only circuits and components that contain refrigerant and F-gases."
        required: true
  /assets/getfilteredassets:
    post:
      tags:
      - Assets
      summary: Get Filtered Assets
      operationId: POSTv3_assets_getfilteredassets
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System.Object'
            text/json:
              schema:
                $ref: '#/components/schemas/System.Object'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.GetFilteredAssetsRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.GetFilteredAssetsRequest'
        required: true
  /assets/getfilteredassetsV1:
    post:
      tags:
      - Assets
      summary: Get Filtered Assets V1
      operationId: POSTv3_assets_getfilteredassetsV1?providerId={providerId}
      parameters:
      - name: providerId
        in: query
        description: The provider identifier. Required for sub-contractor request. [Required Special permissions]
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System.Object'
            text/json:
              schema:
                $ref: '#/components/schemas/System.Object'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.GetFilteredAssetsRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.GetFilteredAssetsRequest'
        description: The request to perform action with.
        required: true
  /assets/getfilteredassetleaks:
    post:
      tags:
      - Assets
      summary: Ge tFiltered Asset Leaks
      operationId: POSTv3_assets_getfilteredassetleaks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System.Object'
            text/json:
              schema:
                $ref: '#/components/schemas/System.Object'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.GetFilteredAssetsRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.GetFilteredAssetsRequest'
        required: true
  /assets/getwoassettracking:
    post:
      tags:
      - Assets
      summary: Get Wo Asset Tracking
      operationId: POSTv3_assets_getwoassettracking?woId={woId}
      parameters:
      - name: woId
        in: query
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System.Object'
            text/json:
              schema:
                $ref: '#/components/schemas/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]}
      parameters:
      - name: recIds
        in: query
        description: ''
        required: true
        style: form
        explode: true
        schema:
          type: array
          items:
            type: integer
            format: int32
      responses:
        '200':
          description: Request succeeded and response contains list of WO asset tags and asset tag IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.WOAssetTagResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.WOAssetTagResponse'
        '400':
          description: Request did not succeed and response contains error information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/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.\n             <br />\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}
      parameters:
      - name: locationId
        in: path
        description: Unique numeric identifier of the location you want to retrieve assets details of.
        required: true
        schema:
          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
        schema:
          type: string
      - name: tradeId
        in: query
        description: Trade id of an asset type the asset is assigned to.
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The assets for the specified location are in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AssetsInfoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AssetsInfoResponse'
        '400':
          description: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\n            <br/>Error codes:\n            504 — API call rejected by security permissions"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '404':
          description: The request URI is incorrect, or the resource does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /assets/locationAssetsTree:
    post:
      tags:
      - Assets
      operationId: POSTv3_assets_locationAssetsTree?locationId={locationId}&trade={trade}
      parameters:
      - name: locationId
        in: query
        required: true
        schema:
          type: integer
          format: int32
      - name: trade
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Request succeeded and the requested information is in the response.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AssetsResponseTreeNode'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AssetsResponseTreeNode'
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\n            <br/>Error codes:\n            503 — User info should not be null;\n            SubscriberId is null;"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "Unauthorized indicates that the requested resource requires authentication.\n            <br/>Error codes:\n            504 — API call rejected by security permissions;"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/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}
      parameters:
      - name: workOrdersCount
        in: query
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Request succeeded and the requested information is in the response.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.WorkOrder'
            text/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.WorkOrder'
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\n            <br/>Error codes:\n            503 — User info should not be null;\n            SubscriberId is null;"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "Unauthorized indicates that the requested resource requires authentication.\n            <br/>Error codes:\n            504 — API call rejected by security permissions;"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                format: int32
                type: integer
          text/json:
            schema:
              type: array
              items:
                format: int32
                type: integer
        required: true
  /assets:
    put:
      tags:
      - Assets
      summary: Update an asset
      description: Modifies the details of an existing asset.
      operationId: PUTv3_assets
      responses:
        '200':
          description: The ID of the updated asset is in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System.Object'
            text/json:
              schema:
                $ref: '#/components/schemas/System.Object'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n            <br/>Error codes:\n            502 — No asset to update\n            502 — Asset is not found\n            503 — Unknown Brand name\n            503 — Request is empty or null\n            503 — Do not have rights for editing Asset\n            503 — Unknown Equipment type\n            503 — 'Uses Refrigerant' attribute can not be changed\n            503 — Asset location can not be changed: There are active PM services for this asset."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\n            <br>Error codes:\n            504 — API call rejected by security permissions"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: "The server was unable to complete the request due to an internal error.\n            <br>Error codes:\n            501 — Object reference is not set to an instance of an object."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '502':
          description: The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.UpdateAssetRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.UpdateAssetRequest'
        description: "Request model to update an asset.\n            <br />The following parameters are required in the request:\n             • **Id**: Unique numeric identification number of an asset you want to update.\n             • **Tag**: Alphanumeric asset identifier assigned by the client, aka **Tag ID**.\n             • **Manufacturer**: Company brand that produces an asset and exists in the system.\n             • **StoreId**: Alphanumeric identifier of the existing location.\n             • **Trade**: The line of work an asset is used for. For example, *ELECTRICAL*, *CARPENTRY*, *CCTV*.\n             • **Type**: Type of an asset. For example, *Refrigerator*, *Computer Monitor*.\n            <br />***Note***. The `Tag` and `Location` parameters should remain unchanged."
        required: true
    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:\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.\n            <br /> • create a new asset type by sending the [POST /AssetTypes](/swagger/ui/index?version=3#/AssetTypes/POSTv3_AssetTypes) request.\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
      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.\n            <br/>Error codes:\n            503 — Unknown Brand name\n            503 — Asset Tag ID is empty\n            503 — Request is empty or null\n            503 — No Store ID in the request\n            503 — Trade not found \n            503 — Unknown Equipment type\n            503 — Unknown Store ID\n            503 — Other Trade in Asset Type"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\n            <br/>Error codes:\n            504 — API call rejected by security permissions"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AddAssetRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AddAssetRequest'
        description: "Request to create a new asset.\n            <br />Required parameters:\n            <br /> • **Tag** (aka **Tag ID**). Create an alphanumeric identifier for your asset, for example, AD-3421\n            <br /> • **Manufacturer**. Enter the brand name that exists in the system.\n            <br /> • **StoreId**. Specify the alphanumeric identifier of the existing location.\n            <br /> • **Trade**. Define the line of work an asset is used for, for example, *Electrical*, *Plumbing*, *Carpentry*.\n            <br /> • **Type**. Enter the type of an asset, for example, *Refrigerator*, *Computer Monitor*."
        required: true
  /assets/UpdateAssetTypeInAsset:
    put:
      tags:
      - Assets
      operationId: PUTv3_assets_UpdateAssetTypeInAsset
      responses:
        '200':
          description: The result of operation is in the response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AssetTypeInAssetReponse_System.Collections.Generic.List_ServiceChannel.Services.Core.AssetTransferProcessingData'
            text/json:
              schema:
                $ref: '#/components/schemas/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.\n            <br/>Error codes:\n            500 — Internal server error"
        '401':
          description: "The request is not authorized.\n            <br>Error codes:\n            504 — API call rejected by security permissions"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: "The server was unable to complete the request due to an internal error.\n            <br>Error codes:\n            501 — Object reference is not set to an instance of an object."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.BulkUpdateAssetTypeInAssetRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.BulkUpdateAssetTypeInAssetRequest'
        required: true
  /assets/AddUpdateAsset:
    post:
      tags:
      - Assets
      summary: Add Update Asset
      operationId: POSTv3_assets_AddUpdateAsset
      responses:
        '200':
          description: The ID of the updated asset is in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System.Object'
            text/json:
              schema:
                $ref: '#/components/schemas/System.Object'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n            <br/>Error codes:\n            502 — No asset to update\n            502 — Asset is not found\n            503 — Unknown Brand name\n            503 — Request is empty or null\n            503 — Do not have rights for editing Asset\n            503 — Unknown Equipment type\n            503 — 'Uses Refrigerant' attribute can not be changed\n            503 — Asset location can not be changed: There are active PM services for this asset."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\n            <br>Error codes:\n            504 — API call rejected by security permissions"
          content:
            application/json:
              schema:

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