ServiceChannel WorkOrders API

The WorkOrders API from ServiceChannel — 70 operation(s) for workorders.

Operations 75

GET /workorders Search Work Orders #
POST /workorders Create a Work order #
PUT /workorders/{workorderId}/status Update a Work order Status #
PUT /workorders/{workorderId}/priority Update Work order Priority #
PUT /workorders/{workorderId}/category Update the work order category #
PUT /workorders/{workorderId}/nte Update Work order NTE #
PUT /workorders/{workOrderId}/projectApproval Update Work orders NTE project approval #
POST /workorders/{workOrderId}/projectApproval Create Work orders project approval #
PUT /workorders/{workorderId}/scheduledate Update Work order Scheduled Date #
PUT /workorders/{workorderId}/description Update Work order Description #
PUT /workorders/{workorderId}/trade Change Work order Trade #
POST /workorders/{workorderId}/resolution Add Work order Resolution #
PUT /workorders/{workorderId}/caller Update Work order Caller #
PUT /workorders/{workorderId}/ponumber Update Work order Purchase Number #
PUT /workorders/{workOrderId}/projectedCompletionDate Update Work Order Projected Completion Date #
PUT /workorders/{workorderId}/wonumber Update Work order Number #
PUT /workorders/{workorderId}/projectid Update ProjectId #
PUT /workorders/{workorderId}/weatherTypeId Update weather type #
PUT /workorders/{workorderId}/issueChoice Update issue choice on WO #
PUT /workorders/{workorderId}/reassign Reassign Work Order #
GET /workorders/reassign/reasons Work order reassignment reasons #
GET /workorders/{workorderId} Retrieve a Work order #
GET /workorders/issueinfo/{workorderId} Retrieve a Work order related information #
GET /workorders/{workorderId}/validateCheckIn Validate Check-In action #
GET /workorders/{workorderId}/validateCheckOut Validate Check-Out action #
POST /workorders/{workorderId}/universalCheckIn Perform a check-in #
POST /workorders/{workorderId}/universalCheckOut Perform a check-out #
GET /workorders/{workOrderId}/checklists-responses Get checklist responses for a work order #
POST /odata/workorders/filter Retrieve work orders #
GET /workorders/statistics Statistics Collection #
GET /workorders/categories Categories Collection #
GET /workorders/statuses Get work order statuses #
GET /workorders/{workorderId}/statuses Get work order statuses that relate to a specific work order. #
GET /workorders/starred Starred Work Order Ids Collection #
GET /workorders/label Get work order labels #
PUT /workorders/{workorderId}/label Update a work order label #
DELETE /workorders/{workorderId}/label Delete a work order label #
POST /workorders/labels Create work order labels #
PUT /workorders/{workorderId}/labels Add labels to work order #
DELETE /workorders/{workorderId}/labels Delete labels from work order #
PUT /workorders/{workorderId}/servicenowid Update work order servicenowid #
POST /workorders/{workorderId}/addstripecharge Create Stripe charge #
PUT /workorders/{workorderId}/link Creates link between two Work Orders #
PUT /workorders/{workorderId}/unlink Removes link between two Work Orders #
POST /workorders/{workorderId}/feedback Leave feedback for a work order #
GET /workorders/feedback/list Get work orders feedbacks #
GET /workorders/providerforreassignment Retrieve a Provider #
POST /workorders/solvedissue Submit solved issue during troubleshooting #
GET /worktypes Work types Collection #
GET /workorders/{workorderId}/techniciansAssigned Retrieve list of technicians assigned to the specified work order #
GET /workorders/{workorderId}/refrigerantUseStatus Retrieve the status of refrigerant use on a work order #
GET /workorders/{workOrderId}/leakWasDetected Retrieve the leak detection result on a work order #
PUT /workorders/{workorderId}/markRefrigerantUse Update the status of refrigerant use on a work order #
PUT /workorders/{workOrderId}/UpdateWorkOrderLeakInspectionInfo Update the leak inspection information #
GET /workorders/{workOrderId}/weatherEvent Get the Weather Event associated to a work order (if set) #
PUT /workorders/{workorderId}/SetMoeNumber Mark if refrigerant was used #
GET /workorders/{workorderId}/features Checks features of Work order subscriber #
GET /workorders/{workOrderId}/analytics Get analytics on a work order #
GET /workorders/isTechnicianCertificateUsedOnWorkOrders Check if the certificate is linked to WOs #
PUT /workorders/{workOrderId}/technicianCertificate Assign the tech’s certificate to the work order #
PUT /workorders/{workOrderId}/accept Accept a work order #
PUT /workorders/{workOrderId}/decline Decline a work order #
GET /workorders/{workOrderId}/checklistFailureState Gets the work order checklist failure state. #
GET /workorders/{workorderId}/GPSRadius Retrieve a GPS radius for a work order #
POST /workorders/{workorderId}/followers Add Followers to Work order #
DELETE /workorders/{workorderId}/followers Remove Follower from Work order #
PUT /subscribers/{subscriberId}/workorders/{workorderId}/reassign #
GET /odata/workorders Retrieve work orders #
GET /odata/workorders({workorderId}) Retrieve a Work Orders #
GET /odata/workorders({workorderId})/Service.CheckInActivity(loadBlocked={loadBlocked}) Retrieve a Work Order CheckIn Activity #
GET /odata/locations({locationId})/workorders Retrieve a Work Orders #
GET /odata/locations({locationId})/workorders/Service.GetDuplicates() Retrieve a Duplicate Work Orders #
GET /odata/locations({locationId})/workorders/Service.GetRecalls() Retrieve Work Order Recalls #
GET /odata/workorders/Service.NearBy(latitude={latitude},longitude={longitude}) Retrieve a Work Orders near by a site. #

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-workorders-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-workorders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: bearer.v1
  title: Fixxbook.Bearer.Api.V1 AfterHours Work Orders API
  isOdataApi: false
  relativePath: ''
  discoveryPath: docs/bearer.v1
  _isAuthorizedAccess: true
servers:
- url: https://sb2fixxbook.servicechannel.com:443/api
security:
- oauth2: []
tags:
- name: WorkOrders
paths:
  /workorders:
    get:
      tags:
      - WorkOrders
      summary: Search Work Orders
      description: "Performs search of workorders by specified filter expression and returns list of work orders with all details.\n            <br />One page contains 50 items by default (\"pageSize\"=50). To get next 50 items use the \"page\" parameter (for example page=2 and so on)."
      operationId: GETv3_workorders?locationId={locationId}&storeId={storeId}
      parameters:
      - name: locationId
        in: query
        description: UID of location.
        required: false
        schema:
          type: integer
          format: int32
      - name: storeId
        in: query
        description: StoreId of location. Used to find location for which search will be performed. Applicable to subscribers only.
        required: false
        schema:
          type: string
      - name: otherLocationId
        in: query
        description: UID of location, exact search by default
        required: false
        schema:
          type: array
          items: {}
      - name: id
        in: query
        description: UID of work order, exact search by default
        required: false
        schema:
          type: array
          items: {}
      - name: category
        in: query
        description: Category of work order, exact search by default
        required: false
        schema:
          type: array
          items: {}
      - name: categoryId
        in: query
        description: CategoryId, ID of categories to return work orders for
        required: false
        schema:
          type: array
          items: {}
      - name: status
        in: query
        description: Status of work order, exact search by default
        required: false
        schema:
          type: array
          items: {}
      - name: extendedStatus
        in: query
        description: Extended status of work order, exact search by default
        required: false
        schema:
          type: array
          items: {}
      - name: number
        in: query
        description: Work order number, 'starts with' search criteria by default
        required: false
        schema:
          type: array
          items: {}
      - name: serviceId
        in: query
        description: '''starts with'' search criteria by default'
        required: false
        schema:
          type: array
          items: {}
      - name: priority
        in: query
        description: Priority of work order, exact search by default
        required: false
        schema:
          type: array
          items: {}
      - name: purchaseNumber
        in: query
        description: Purchase number of work order, 'starts with' search criteria by default
        required: false
        schema:
          type: array
          items: {}
      - name: trade
        in: query
        description: Trade, 'starts with' search criteria by default
        required: false
        schema:
          type: array
          items: {}
      - name: tradeId
        in: query
        description: TradeId, ID of trades to return work orders for
        required: false
        schema:
          type: array
          items: {}
      - name: scheduledDate
        in: query
        description: Scheduled date
        required: false
        schema:
          type: array
          items: {}
      - name: expirationDate
        in: query
        description: Expiration date
        required: false
        schema:
          type: array
          items: {}
      - name: callDate
        in: query
        description: Call date
        required: false
        schema:
          type: array
          items: {}
      - name: sort
        in: query
        description: Sort resources by the specified property in the response.
        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 and maximum per page is 50.
        required: false
        schema:
          type: integer
          format: int32
      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.WebApi.Models.Response.WorkOrder.GetWorkOrdersResponse.WorkOrder'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceChannel.Services.WebApi.Models.Response.WorkOrder.GetWorkOrdersResponse.WorkOrder'
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\n            <br/>Error codes:\n            <br/> 403 - Account has not been activated for GPS use;\n            <br/> 503 - Validation fails. Request is empty or null;\n            <br/> 601 - Location Id is invalid;\n            <br/> 606 - Cannot find location by StoreId;\n            <br/> 1000 - Invalid Setup Id;"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "Requested resource requires authentication.\n            <br/>Error codes:\n            <br/> 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: "Indicates that a generic error has occurred on the server.\n            <br/>Error codes:\n            <br/> 501 - Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding."
          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:
      - WorkOrders
      summary: Create a Work order
      description: "Creates a new Work order. Returns Work order Id for successful request.\n            <br />Available for provider and subscriber usage.\n            <br />Additional info:\n            <br />Updates GL code based on passed Category param according to settings in Admin module {go to Admin =&gt; Accounting =&gt; GlCodes to see user GL codes}.\n            Similar logic is used when you create Work order through next path: Dashboard =&gt; Request Service."
      operationId: POSTv3_workorders
      responses:
        '201':
          description: Created indicates that the request resulted in a new resource created before the response was sent.
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\n            <br/>Error codes:\n            <br/> 100 - No provider was found for specified location and trade;\n            <br/> 300 - Missed contract data;\n            <br/> 301 - Contract not found for specified subscribers location, provider and trade;\n            <br/> 400 - Invalid Subscriber Id specified;\n            <br/> 503 - Work order cannot be created, provider could not be determined (missing providerID or IssueRequestInfo);\n            <br/> 600 - Invalid Location Id specified;\n            <br/> 603 - Subscriber has no specified Location;\n            <br/> 700 - Invalid Trade Name specified;\n            <br/> 702 - Subscriber has no specified Trade;\n            <br/> 800 - Missed required argument 'UserId';\n            <br/> 801 - Missed required argument 'CreatedBy';\n            <br/> 900 - Missed problem description options;\n            <br/> 901 - Missed required argument 'ProblemSource';\n            <br/> 902 - Missed required argument 'Description';\n            <br/> 903 - Missed required argument 'ProblemCode';\n            <br/> 904 - Invalid WorkOrder status;\n            <br/> 905 - Invalid 'Nte' value;\n            <br/> 906 - Invalid 'CallerName' value;\n            <br/> 907 - Invalid 'CallDate' value;\n            <br/> 908 - Invalid 'ScheduledDate' value;\n            <br/> 909 - Invalid 'ScheduledDate', greater than max allowed by subscriber;\n            <br/> 910 - Missed required argument 'Category';\n            <br/> 911 - Invalid 'Category';\n            <br/> 912 - Missed required argument 'Priority';\n            <br/> 913 - Invalid 'Priority';\n            <br/> 914 - Invalid 'Currency' value;\n            <br/> 915 - Invalid Setup Id;\n            <br/> 916 - At least one attachment required to create this WorkOrder;\n            <br/> 918 - Assets required to create this WorkOrder;"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "Indicates that the requested resource requires authentication.\n            <br/>Error codes:\n            <br/> 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: "Indicates that a generic error has occurred on the server.\n            <br/>Error codes:\n            <br/> 501 - Sequence contains no elements"
          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.Workorders.CreateWoRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.CreateWoRequest'
        description: A new Work order
        required: true
  /workorders/{workorderId}/status:
    put:
      tags:
      - WorkOrders
      summary: Update a Work order Status
      description: "Updates Work Order status with optional Note. Returns Work order Id for successful request.\n            <br /><br />This method can only be used for users with 'WorkOrderStatusChange' permissions.\n            Available for provider and subscriber usage."
      operationId: PUTv3_workorders_{workorderId}_status
      parameters:
      - name: workorderId
        in: path
        description: Numeric Id of the Work order to perform action with.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Indicates that the request succeeded and that the requested information is in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderStatusResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderStatusResponse'
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\n            <br/>Error codes:\n            <br/> 100 - You don't have location access to perform this operation;\n            <br/> User has no permissions to perform this action;\n            <br/> 502 - WorkOrder not found;\n            <br/> 503 - Request data is empty; User data not found;\n            <br/> 904 - Invalid WorkOrder status;\n            <br/> User has no permission to set selected status;\n            <br/> 921 - Cannot update invoiced Work order;\n            <br/> 9001 - Decline reason id is required;\n            <br/> 9002 - This decline reason doesn't allow custom text"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "Indicates that the requested resource requires authentication.\n            <br/>Error codes:\n            <br/> 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: Indicates that a generic error has occurred on the 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.Workorders.ChangeWoStatusRequestExt'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWoStatusRequestExt'
        description: The update request. Work order Status.
        required: true
  /workorders/{workorderId}/priority:
    put:
      tags:
      - WorkOrders
      summary: Update Work order Priority
      description: "Updates Work Order priority. Returns Work order Id for successful request.\n            <br /><br />This method can only be used for users with 'WorkOrderFullEdit' permissions."
      operationId: PUTv3_workorders_{workorderId}_priority
      parameters:
      - name: workorderId
        in: path
        description: Numeric Id of the Work order to perform action with.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Indicates that the request succeeded and that the requested information is in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderResponse'
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\n            <br/>Error codes:\n            <br/> 100 - You don't have location access to perform this operation;\n            <br/> 502 - Data not found. Returned if target Work order is not found database;\n            <br/> 503 - Request data is empty;\n            <br/> 913 - Priority isn't found in user settings;\n            <br/> Priority length cannot be longer then 100 or shorter then 1 characters;\n            <br/> 921 - Cannot update invoiced 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: "Indicates that the requested resource requires authentication.\n            <br/>Error codes:\n            <br/> 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: Indicates that a generic error has occurred on the 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.Workorders.ChangeWoFieldsRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWoFieldsRequest'
        description: The update request. Work order Priority.
        required: true
  /workorders/{workorderId}/category:
    put:
      tags:
      - WorkOrders
      summary: Update the work order category
      description: "Updates the category of the specified work order (WO) with the passed value. Note that you cannot update the category of an invoiced service request.\n            <br />If the WO category does not have a GL code mapping with the WO trade, you will get an error message listing valid categories for this trade based on existing GL codes. You can retrieve valid categories for a specific trade by sending the [GET /categories/glcodes](/swagger/ui/index?version=3#/Categories/GETv3_categories_glcodes_locationId__locationId__trade__trade_) request.\n            <br />***Note:*** Only users who have permission to edit work orders can use this method.\n            <br />**Example Request**\n            \n                PUT /workorders/{workorderId}/category\n                {\n                   \"Value\": \"Repair\",\n                   \"Actor\": \"James Smith\",\n                   \"Id\": 12345\n                }"
      operationId: PUTv3_workorders_{workorderId}_category
      parameters:
      - name: workorderId
        in: path
        description: Unique numeric identifier of the work order you want to update the category for.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: The category of the specified work order is updated, and the unique work order ID is returned in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderResponse'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n            <br/>Error codes:\n            100 — User has no rights to perform this action\n            502 — Work order is not found\n            921 — Cannot update invoiced 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'
        '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.Messaging.Workorders.ChangeWoCategoryRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWoCategoryRequest'
        description: Request to update the work order category.
        required: true
  /workorders/{workorderId}/nte:
    put:
      tags:
      - WorkOrders
      summary: Update Work order NTE
      description: "Updates Work Order NTE. Returns Work order Id for successful request.\n            <br /><br />This method can only be used for users with 'WorkOrderFullEdit' permissions."
      operationId: PUTv3_workorders_{workorderId}_nte
      parameters:
      - name: workorderId
        in: path
        description: Numeric Id of the Work order to perform action with.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Indicates that the request succeeded and that the requested information is in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderResponse'
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\n        \t<br/>Error codes:\n        \t<br/> 100 - You don't have location access to perform this operation;\n        \t<br/> 502 - Data not found. Returned if target Work order is not found database;\n        \t<br/> 503 - Request data is empty;\n        \t<br/> 905 - Invalid Work order NTE specified. Returned if nte exceeds user limit or its value is not a number;\n        \t<br/> 921 - Cannot update invoiced Work order;\n        \t<br/> 931 - NTE cannot be adjusted, please use subtotal and tax;"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "Indicates that the requested resource requires authentication.\n            <br/>Error codes:\n            <br/> 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: Indicates that a generic error has occurred on the 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.Workorders.ChangeWoNteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWoNteRequest'
        description: The update request. Work order NTE.
        required: true
  /workorders/{workOrderId}/projectApproval:
    put:
      tags:
      - WorkOrders
      summary: Update Work orders NTE project approval
      description: "Update Work orders NTE project approval. Returns successfully updated id.\n            <br /><br />This method can only be used for users with 'WorkOrderFullEdit' permissions."
      operationId: PUTv3_workorders_{workOrderId}_projectApproval
      parameters:
      - name: workOrderId
        in: path
        description: Numeric Id of the Work order to perform action with.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Indicates that the request succeeded and that the requested information is in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderResponse'
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\n        \t<br/>Error codes:\n        \t<br/> 100 - You don't have location access to perform this operation;\n        \t<br/> 502 - Data not found. Returned if target Work order is not found database;\n        \t<br/> 503 - Request data is empty;"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "Indicates that the requested resource requires authentication.\n            <br/>Error codes:\n            <br/> 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: Indicates that a generic error has occurred on the 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.Workorders.UpdateWorkOrdersProjectApprovalRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.UpdateWorkOrdersProjectApprovalRequest'
        description: The update request. Work orders NTE/Link project approval.
        required: true
    post:
      tags:
      - WorkOrders
      summary: Create Work orders project approval
      description: "Create Work orders project approval. Returns successfully updated id.\n            <br /><br />This method can only be used for users with 'WorkOrderFullEdit' permissions."
      operationId: POSTv3_workorders_{workOrderId}_projectApproval
      parameters:
      - name: workOrderId
        in: path
        description: Numeric Id of the Work order to perform action with.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Indicates that the request succeeded and that the requested information is in the response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.ChangeWorkOrderResponse'
        '400':
          description: "Bad Request - the request could not be understood or was missing required parameters.\n        \t<br/>Error codes:\n        \t<br/> 100 - You don't have location access to perform this operation;\n        \t<br/> 502 - Data not found. Returned if target Work order is not found database;\n        \t<br/> 503 - Request data is empty;"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "Indicates that the requested resource requires authentication.\n            <br/>Error codes:\n            <br/> 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: Indicates that a generic error has occurred on the 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.Workorders.CreateWorkOrdersProjectApprovalRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ServiceChannel.Services.Messaging.Workorders.CreateWorkOrdersProjectApprovalRequest'
        description: The create request. Work orders project approval.
        required: true
  /workorders/{workorderId}/scheduledate:
    put:
      tags:
      - WorkOrders
      summary: Update Work order Scheduled Date
      description: "Updates Work Order Scheduled Date. Returns Work order Id for successful request.\n            <br /><br />Available for provider and subscriber usage.\n            This method can only be used for users with 'WorkOrderScheduledDateChange' permissions."
      operationId: PUTv3_workorders_{workorderId}_scheduledate?rescheduleReasonCode={rescheduleReasonCode}
      parameters:
      - name: workorderId
        in: path
        description: Numeric Id of the Work order to perform action with.
        required

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