ServiceChannel ResolutionCodes API

The ResolutionCodes API from ServiceChannel — 5 operation(s) for resolutioncodes.

Operations 8

GET /resolutionCodes Get resolution codes #
POST /resolutionCodes Add or update resolution codes for a work order #
GET /resolutionCodes/{workOrderId} Get resolution codes and root causes for a work order #
GET /resolutionCodes/rootCauses Get root causes #
POST /resolutionCodes/rootCauses Add or update root causes for a work order #
POST /resolutionCodes/rootCauses/{workOrderId} Add or update root causes for a work order #
GET /resolutionCodes/{workOrderId}/assetCategories Retrieve asset categories for a work order #
POST /resolutionCodes/{workOrderId}/assetCategories Add or update asset categories for a work order #

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-resolutioncodes-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-resolutioncodes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: bearer.v1
  title: Fixxbook.Bearer.Api.V1 AfterHours Resolution Codes API
  isOdataApi: false
  relativePath: ''
  discoveryPath: docs/bearer.v1
  _isAuthorizedAccess: true
servers:
- url: https://sb2fixxbook.servicechannel.com:443/api
security:
- oauth2: []
tags:
- name: ResolutionCodes
paths:
  /resolutionCodes:
    get:
      tags:
      - ResolutionCodes
      summary: Get resolution codes
      description: Returns a list of resolution codes. Resolution codes are set up for trades and describe actions that a technician takes to resolve a problem upon working on a service request.
      operationId: GETv3_resolutionCodes
      parameters:
      - name: subscriberId
        in: query
        description: Unique subscriber identifier.
        required: true
        schema:
          type: integer
          format: int32
      - name: trade
        in: query
        description: "Trade to return resolution codes for. A trade is an area of work for which a service is performed, such as _HVAC_, _Refrigeration_, or _Plumbing_.\n            <b>The value of this or the TradeId attribute is required.</b>\n            Parameter is obsolete. Please use <b>TradeId</b> instead"
        required: false
        schema:
          type: string
      - name: category
        in: query
        description: "Category to return resolution codes for. A category is the overall classification of a work order, such as _Maintenance_, _Repair_, or _CAPEX_.\n            <b>The value of this or the CategoryId attribute is required.</b>\n            Parameter is obsolete. Please use <b>CategoryId</b> instead"
        required: false
        schema:
          type: string
      - name: locationId
        in: query
        description: Unique identifier of a subscriber’s location.
        required: true
        schema:
          type: integer
          format: int32
      - name: providerId
        in: query
        description: Unique provider identifier. Should be passed by subscriber users.
        required: false
        schema:
          type: integer
          format: int32
      - name: assetCategoryIds
        in: query
        description: IDs of asset categories to return resolution codes for. You can specify up to 5 asset categories if you have access to this functionality.
        required: false
        schema:
          type: array
          items:
            type: integer
            format: int32
      - name: keyword
        in: query
        description: Keyword contained in resolution codes to perform the search by.
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: Results page number.
        required: false
        schema:
          type: integer
          format: int32
      - name: pageSize
        in: query
        description: Number of objects on the results page. The default is 10.
        required: false
        schema:
          type: integer
          format: int32
      - name: tradeId
        in: query
        description: "TradeId to return resolution codes for. If 'tradeId' is passed, 'trade' parameter is ignored\n            <b>The value of this or the Trade attribute is required.</b>"
        required: false
        schema:
          type: integer
          format: int32
      - name: categoryId
        in: query
        description: "CategoryId to return resolution codes for. If 'categoryId' is passed, 'category' parameter is ignored\n            <b>The value of this or the Category attribute is required.</b>"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Resolution codes are in the response.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceChannel.Services.WebApi.Models.Response.ResolutionCodes.ResolutionCodeResponse'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceChannel.Services.WebApi.Models.Response.ResolutionCodes.ResolutionCodeResponse'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n            <br/>Error codes:\n            4113 — You can specify up to 5 asset categories"
          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'
        '403':
          description: "You are not authorized to request this resource, or the resource is unavailable for some reason.\n            <br/>Error codes: \n            4114 — You don't have access to asset categories"
          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.
          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
    post:
      tags:
      - ResolutionCodes
      summary: Add or update resolution codes for a work order
      description: "Associates resolution codes with the specified work order. If resolution codes are already added to a work order, you can change them by sending the request.\n            <br />Learn [how providers can add or edit resolution codes](https://servicechannel.atlassian.net/wiki/spaces/SCUCP/pages/1688502858/Resolution+and+Root+Causes+Codes+in+Provider+Automation#ResolutionandRootCausesCodesinProviderAutomation-ProcessingRRCsProcessingResolutionandRootCauseCodes) in ServiceChannel University.\n            <br />**Example Requests**\n                \n              OPTION 1:\n                POST /resolutionCodes\n                {\n                   \"WorkOrderId\": 158716211,\n                   \"ResolutionCodeIds\": [\n                     2145, 2147\n                 ],\n                   \"ResolutionCodes\": []\n                }\n                \n              OPTION 2:\n                POST /resolutionCodes\n                {\n                   \"WorkOrderId\": 158716211,\n                   \"ResolutionCodeIds\": [],\n                   \"ResolutionCodes\": [\n                    {\n                     \"Key\": 2189,\n                     \"Text\": \"Repair wings\",\n                     \"AssetCategoryId\": 5\n                    },\n                    {\n                     \"Key\": 2146,\n                     \"Text\": \"\",\n                     \"AssetCategoryId\": 2\n                    }\n                   ]\n                }"
      operationId: POSTv3_resolutionCodes
      responses:
        '200':
          description: Resolution codes are added to the specified work order.
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n            <br/>Error codes:\n            4100 — You can specify up to 3 resolution codes for a work order\n            4101 — You need to specify at least one resolution code\n            4108 — The max length of the resolution code text is exceeded\n            4109 — Resolution code text must be unique\n            4110 — Resolution code without free text must be unique\n            4122 — You need to specify up to 3 resolution codes per asset category for all asset categories assigned to the work order"
          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'
        '403':
          description: "You are not authorized to request this resource, or the resource is unavailable for some reason.\n            <br/>Error codes: \n            4107 — You don't have access to set the resolution code text"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '404':
          description: "The requested resource does not exist on the server.\n            <br/>Error codes:\n            502 — Data nor found"
        '500':
          description: The server was unable to complete the request due to an internal error.
          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.WebApi.Models.Request.ResolutionCodes.UpdateResolutionCodesRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.WebApi.Models.Request.ResolutionCodes.UpdateResolutionCodesRequest'
        description: "Request to add or update resolution codes for a work order. \n            <br />**Required parameters:**\n             • `WorkOrderId`. Unique numeric identifier of the work order to add resolution codes to.\n             • Use one of the following collections to add resolution codes. To get resolution code IDs, send the [GET /resolutionCodes](/swagger/ui/index?version=3#/ResolutionCodes/GETv3_resolutionCodes_subscriberId__subscriberId__trade__trade__category__category__locationId__locationId__providerId__providerId__assetCategoryIds_0___assetCategoryIds_0___assetCategoryIds_1___assetCategoryIds_1___keyword__keyword__page__page__pageSize__pageSize_) request, and look for the `Key` value of the desired code in the response. \n              ◦ `ResolutionCodeIds`. Enter resolution code IDs separated by commas.\n              ◦ `ResolutionCodes`. For each resolution code you want to add, pass an object with the following parameters: `Key`, `Text` — optional comment for resolution codes with the `HasFreeText` attribute, and `AssetCategoryId` (required if you have access to asset categories).\n            <br />Users who have access to asset categories should add 1–3 resolution codes for each asset category associated with a work order. Otherwise, you can specify up to 3 resolution codes for a work order."
        required: true
  /resolutionCodes/{workOrderId}:
    get:
      tags:
      - ResolutionCodes
      summary: Get resolution codes and root causes for a work order
      description: "Returns resolution codes and root causes for the specified work order.\n             • A **resolution code** is an action that a technician takes to resolve a problem upon working on a service request.\n             • A **root cause** is a reason why the problem occurred to begin with.\n            <br />Resolution codes and root causes are set up for specific trades and are standardized. If there are resolution codes and root causes configured for a work order trade, a technician is prompted to select these properties upon [checking out of a work order](https://servicechannel.atlassian.net/wiki/spaces/SCUCP/pages/622396960/Checking+In+and+Out+of+Work+Orders+Using+SC+Provider#CheckingInandOutofWorkOrdersUsingSCProvider-CheckingOutwithResolutionandRootCauseCodes) and moving it to the _Completed_ status in ServiceChannel Provider."
      operationId: GETv3_resolutionCodes_{workOrderId}
      parameters:
      - name: workOrderId
        in: path
        description: Unique identifier of the work order to return resolution codes and root causes for.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Resolution codes and root causes for the specified work order are in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.WebApi.Models.Response.ResolutionCodes.WorkOrderResolutionInfoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.WebApi.Models.Response.ResolutionCodes.WorkOrderResolutionInfoResponse'
        '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 requested resource does not exist on the server.\n            <br/>Error codes:\n            502 — Data not found"
        '500':
          description: The server was unable to complete the request due to an internal error.
          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
  /resolutionCodes/rootCauses:
    get:
      tags:
      - ResolutionCodes
      summary: Get root causes
      description: Returns a list of root causes. Root causes are set up for trades and describe reasons why the problem occurred to begin with.
      operationId: GETv3_resolutionCodes_rootCauses
      parameters:
      - name: subscriberId
        in: query
        description: Unique subscriber identifier.
        required: true
        schema:
          type: integer
          format: int32
      - name: trade
        in: query
        description: "Trade to return root causes for. A trade is an area of work for which a service is performed, such as _HVAC_, _Refrigeration_, or _Plumbing_.\n            <b>The value of this or the TradeId attribute is required.</b>\n            Parameter is obsolete. Please use <b>TradeId</b> instead"
        required: false
        schema:
          type: string
      - name: category
        in: query
        description: "Category to return root causes for. A category is the overall classification of a work order, such as _Maintenance_, _Repair_, or _CAPEX_.\n            <b>The value of this or the CategoryId attribute is required.</b>\n            Parameter is obsolete. Please use <b>CategoryId</b> instead"
        required: false
        schema:
          type: string
      - name: locationId
        in: query
        description: Unique identifier of a subscriber’s location.
        required: true
        schema:
          type: integer
          format: int32
      - name: providerId
        in: query
        description: Unique provider identifier. Should be passed by subscriber users.
        required: false
        schema:
          type: integer
          format: int32
      - name: assetCategoryIds
        in: query
        description: IDs of asset categories to return root causes for. You can specify up to 5 asset categories if you have access to this functionality.
        required: false
        schema:
          type: array
          items:
            type: integer
            format: int32
      - name: keyword
        in: query
        description: Keyword contained in root causes to perform the search by.
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: Results page number.
        required: false
        schema:
          type: integer
          format: int32
      - name: pageSize
        in: query
        description: Number of objects on the results page. The default is 10.
        required: false
        schema:
          type: integer
          format: int32
      - name: tradeId
        in: query
        description: "TradeId to return root causes for. If 'tradeId' is passed, 'trade' parameter is ignored\n            <b>The value of this or the Trade attribute is required.</b>"
        required: false
        schema:
          type: integer
          format: int32
      - name: categoryId
        in: query
        description: "CategoryId to return root causes for. If 'categoryId' is passed, 'category' parameter is ignored\n            <b>The value of this or the Category attribute is required.</b>"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Root causes are in the response.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceChannel.Services.WebApi.Models.Response.ResolutionCodes.RootCauseResponse'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceChannel.Services.WebApi.Models.Response.ResolutionCodes.RootCauseResponse'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n            <br/>Error codes:\n            4113 — You can specify up to 5 asset categories"
          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'
        '403':
          description: "You are not authorized to request this resource, or the resource is unavailable for some reason.\n            <br/>Error codes: \n            4114 — You don't have access to asset categories"
          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.
          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
    post:
      tags:
      - ResolutionCodes
      summary: Add or update root causes for a work order
      description: "For users who have access to asset categories, associates root causes with the specified work order. If root causes are already added to a work order, you can replace them by sending the request. You need to specify one root cause for each asset category of a work order.\n            <br />Get root cause IDs using the [GET /resolutionCodes/rootCauses](/swagger/ui/index?version=3#/ResolutionCodes/GETv3_resolutionCodes_rootCauses_subscriberId__subscriberId__trade__trade__category__category__locationId__locationId__providerId__providerId__assetCategoryIds_0___assetCategoryIds_0___assetCategoryIds_1___assetCategoryIds_1___keyword__keyword__page__page__pageSize__pageSize_) method. To retrieve asset category IDs, send the [GET /AssetTypes/GetAssetTypeGroups](/swagger/ui/index?version=3#/AssetTypes/GETv3_AssetTypes_GetAssetTypeGroups_subscriberId__subscriberId_) request.\n            <br />***Note:*** Users who don't have access to asset categories should pass the [POST /resolutionCodes/rootCauses/{workOrderId}](/swagger/ui/index?version=3#/ResolutionCodes/POSTv3_resolutionCodes_rootCauses__workOrderId__rootCauseId__rootCauseId__rootCauseText__rootCauseText_) request to add or update a root cause for a work order.\n            <br />Visit ServiceChannel University to find out [how providers can add or edit root causes](https://servicechannel.atlassian.net/wiki/spaces/SCUCP/pages/1688502858/Resolution+and+Root+Causes+Codes+in+Provider+Automation#ResolutionandRootCausesCodesinProviderAutomation-ProcessingRRCsProcessingResolutionandRootCauseCodes).\n            <br />**Example Request**\n            \n               POST /resolutionCodes/rootCauses\n               {\n                 \"WorkOrderId\": 175444600,\n                 \"RootCauses\": [\n                  {\n                    \"Key\": 419,\n                    \"Text\": \"Accidental damage\",\n                    \"AssetCategoryId\": 1\n                  },\n                  {\n                    \"Key\": 420,\n                    \"Text\": \"\",\n                    \"AssetCategoryId\": 2\n                  }\n                ]\n               }"
      operationId: POSTv3_resolutionCodes_rootCauses
      responses:
        '200':
          description: Root causes are added to the specified work order.
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n            <br/>Error codes:\n            4102 - You need to select a root cause\n            4105 - The max length of the root cause text is exceeded\n            4117 - The work order doesn't have assigned asset categories. You need to specify at least one asset category\n            4118 - You need to specify one root cause per asset category for all asset categories assigned to the work order\n            4120 - Asset category is required"
          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'
        '403':
          description: "You are not authorized to request this resource, or the resource is unavailable for some reason. \n            <br/>Error codes:\n            4104 — You don't have access to set the root cause tex\n            4114 — You don't have access to asset categories"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '404':
          description: "The requested resource does not exist on the server.\n            <br/>Error codes:\n            502 — Data not found"
        '500':
          description: The server was unable to complete the request due to an internal error.
          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.WebApi.Models.Request.ResolutionCodes.UpdateRootCausesRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.WebApi.Models.Request.ResolutionCodes.UpdateRootCausesRequest'
        description: Request to add or update root causes for a work order.
        required: true
  /resolutionCodes/rootCauses/{workOrderId}:
    post:
      tags:
      - ResolutionCodes
      summary: Add or update root causes for a work order
      description: "For users who don't have access to asset categories, associates a root cause with the specified work order. If a root cause is already added to a work order, you can change it by sending the request.\n            <br />Before adding a root cause, use the [GET /resolutionCodes/rootCauses](/swagger/ui/index?version=3#/ResolutionCodes/GETv3_resolutionCodes_rootCauses_subscriberId__subscriberId__trade__trade__category__category__locationId__locationId__providerId__providerId__assetCategoryIds_0___assetCategoryIds_0___assetCategoryIds_1___assetCategoryIds_1___keyword__keyword__page__page__pageSize__pageSize_) method to find out if root causes are configured for the work order trade. To get a root cause ID, look for the `Key` value of the desired root cause in the response.\n            <br /> ***Note:*** Users with access to asset categories should send the following request to add or update root causes for a work order: [POST /resolutionCodes/rootCauses](/swagger/ui/index?version=3#/ResolutionCodes/POSTv3_resolutionCodes_rootCauses)."
      operationId: POSTv3_resolutionCodes_rootCauses_{workOrderId}?rootCauseId={rootCauseId}&rootCauseText={rootCauseText}
      parameters:
      - name: workOrderId
        in: path
        description: Unique numeric identifier of the work order to add, update, or delete a root cause for.
        required: true
        schema:
          type: integer
          format: int32
      - name: rootCauseId
        in: query
        description: ID of the root cause to associate with the work order. Ignore this parameter to remove the current root causes from the work order.
        required: false
        schema:
          type: integer
          format: int32
      - name: rootCauseText
        in: query
        description: Comment explaining your understanding of the root cause of the work order.<br />Enabled for root causes with the `HasFreeText` attribute. The maximum length is 100 characters.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: The root cause is added to the specified work order.
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n            <br/>Error codes:\n            4102 — You need to select a root cause\n            4105 — The max length of the root cause text is exceeded"
          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'
        '403':
          description: "You are not authorized to request this resource, or the resource is unavailable for some reason. \n            <br/>Error codes: \n            4104 - You don't have access to set root cause text\n            4121 - You must use a method to set multiple root causes when you have access to asset categories"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '404':
          description: "The requested resource does not exist on the server.\n            <br/>Error codes:\n            502 — Data nor found"
        '500':
          description: The server was unable to complete the request due to an internal error.
          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
  /resolutionCodes/{workOrderId}/assetCategories:
    get:
      tags:
      - ResolutionCodes
      summary: Retrieve asset categories for a work order
      description: "Returns asset categories associated with the specified work order. Asset categories represent a standardized classification of asset types.\n            <br />***Note:*** Only users who have access to asset categories can send this request."
      operationId: GETv3_resolutionCodes_{workOrderId}_assetCategories
      parameters:
      - name: workOrderId
        in: path
        description: Unique numeric identifier of the work order to return asset categories for.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Asset categories for the specified work order are in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AssetTypeCategory'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Assets.AssetTypeCategory'
        '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:
              

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