ServiceChannel Parts API
The Parts API from ServiceChannel — 7 operation(s) for parts.
The Parts API from ServiceChannel — 7 operation(s) for parts.
swagger: '2.0'
info:
version: bearer.v1
title: Fixxbook.Bearer.Api.V1 AfterHours Parts API
isOdataApi: false
relativePath: ''
discoveryPath: docs/bearer.v1
_isAuthorizedAccess: true
host: sb2fixxbook.servicechannel.com:443
basePath: /api
schemes:
- https
security:
- oauth2: []
tags:
- name: Parts
paths:
/workorders/{workorderId}/parts:
get:
tags:
- Parts
summary: Get a Work order parts
description: "Get a Work order parts. Returns Work order parts collection for successful request.\r\n <br /><br />Available for provider and subscriber usage."
operationId: GETv3_workorders_{workorderId}_parts
consumes: []
produces:
- application/json
- text/json
parameters:
- name: workorderId
in: path
description: The Work order identity
required: true
type: integer
format: int32
responses:
'200':
description: Indicates that the request succeeded and that the requested information is in the response.
schema:
type: array
items:
$ref: '#/definitions/ServiceChannel.Services.Messaging.Workorders.WorkOrderPartResponse'
'400':
description: Bad Request - the request could not be understood or was missing required parameters.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "Indicates that the requested resource requires authentication.\r\n <br/>Error codes:\r\n <br/> 504 - API call rejected by security permissions;"
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
put:
tags:
- Parts
summary: Update Work order parts
description: Available only for provider.
operationId: PUTv3_workorders_{workorderId}_parts
consumes:
- application/json
- text/json
produces:
- application/json
- text/json
parameters:
- name: workorderId
in: path
description: The Work order identity
required: true
type: integer
format: int32
- name: request
in: body
description: The Work order parts collection for update
required: true
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.Workorders.UpdateWorkOrderPartsCollectionRequest'
responses:
'200':
description: Indicates that the request succeeded.
'400':
description: Bad Request - the request could not be understood or was missing required parameters.<br>Error codes:<br>502 - WorkOrder not found;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: Indicates that the requested resource requires authentication.<br>Error codes:<br/> 504 - API call rejected by security permissions;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'500':
description: Error while processing request.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Providers
post:
tags:
- Parts
summary: Create Work order parts
description: Available only for provider.
operationId: POSTv3_workorders_{workorderId}_parts
consumes:
- application/json
- text/json
produces:
- application/json
- text/json
parameters:
- name: workorderId
in: path
description: A new Work order identity
required: true
type: integer
format: int32
- name: requestModel
in: body
description: A new Work order parts collection
required: true
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.Workorders.CreateWorkOrderPartsCollectionRequest'
responses:
'201':
description: Indicates that the request succeeded.
'400':
description: Bad Request - the request could not be understood or was missing required parameters.<br>Error codes:<br>502 - WorkOrder not found;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: Indicates that the requested resource requires authentication.<br>Error codes:<br/> 504 - API call rejected by security permissions;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'500':
description: Error while processing request.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Providers
delete:
tags:
- Parts
summary: Delete Work order parts
description: Available only for provider.
operationId: DELETEv3_workorders_{workorderId}_parts?ids[0]={ids[0]}&ids[1]={ids[1]}
consumes: []
produces:
- application/json
- text/json
parameters:
- name: workorderId
in: path
description: The Work order identity
required: true
type: integer
format: int32
- name: ids
in: query
description: The Work order part identity collection for delete
required: true
type: array
items:
type: integer
format: int32
collectionFormat: multi
responses:
'200':
description: Indicates that the request succeeded.
'400':
description: Bad Request - the request could not be understood or was missing required parameters.<br>Error codes:<br>502 - WorkOrder not found;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: Indicates that the requested resource requires authentication.<br>Error codes:<br/> 504 - API call rejected by security permissions;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'500':
description: Error while processing request.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Providers
/workorders/{workorderId}/{includeConnectorParts}/partsV1:
get:
tags:
- Parts
summary: Get a Work order parts
description: "Get a Work order parts. Returns Work order parts collection for successful request.\r\n <br /><br />Available for provider and subscriber usage."
operationId: GETv3_workorders_{workorderId}_{includeConnectorParts}_partsV1
consumes: []
produces:
- application/json
- text/json
parameters:
- name: workorderId
in: path
description: The Work order identity
required: true
type: integer
format: int32
- name: includeConnectorParts
in: path
description: Include Connector Parts
required: true
type: boolean
default: false
responses:
'200':
description: Indicates that the request succeeded and that the requested information is in the response.
schema:
type: array
items:
$ref: '#/definitions/ServiceChannel.Services.Messaging.Workorders.WorkOrderPartResponse'
'400':
description: Bad Request - the request could not be understood or was missing required parameters.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "Indicates that the requested resource requires authentication.\r\n <br/>Error codes:\r\n <br/> 504 - API call rejected by security permissions;"
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
/workorders/{workorderId}/inventory/refrigerantusage:
get:
tags:
- Parts
summary: ''
operationId: GETv3_workorders_{workorderId}_inventory_refrigerantusage
consumes: []
produces:
- application/json
- text/json
parameters:
- name: workorderId
in: path
description: ''
required: true
type: integer
format: int32
responses:
'200':
description: Indicates that the request succeeded.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.Parts.RefrigerantUsageResponse'
'400':
description: Bad Request - the request could not be understood or was missing required parameters.<br>Error codes:<br>502 - WorkOrder not found;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: Indicates that the requested resource requires authentication.<br>Error codes:<br/> 504 - API call rejected by security permissions;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'500':
description: Error while processing request.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
/workorders/inventory/parts/bulkPartUsage:
post:
tags:
- Parts
summary: Update multiple part uses for a work order and an asset
description: "Creates, updates, or deletes multiple part uses for the **work order + asset** pair.\r\n • Supports both refrigerant and non-refrigerant parts. \r\n • Supports inventory and vendor-supplied parts.\r\n <br />**Example request for removing part use records:**\r\n \r\n { \r\n \"DeleteItems\": [\r\n { \r\n \"PartId\": 58069830,\r\n \"DeletionReason\": \"Incorrect Quantity\",\r\n \"InventoryPartId\": 80467,\r\n \"IsInventoryPart\": true\r\n },\r\n { \r\n \"PartId\": 58069831,\r\n \"DeletionReason\": \"Wrong Part\",\r\n \"IsInventoryPart\": false\r\n }\r\n ]\r\n }"
operationId: POSTv3_workorders_inventory_parts_bulkPartUsage
consumes:
- application/json
- text/json
produces:
- application/json
- text/json
parameters:
- name: request
in: body
description: Request model to modify part use records in bulk.
required: true
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.RefrigerantTracking.WorkOrderPartRefrigerantBulkChangeRequest'
responses:
'200':
description: Part use records have been successfully modified.
'400':
description: "The request was not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n <br/>Error codes:\r\n 3227 — Inventory part cannot be changed\r\n 5027 — Refrigerant tracking is not available for the location\r\n 503 — Refrigerant type entered is not defined. Part usage was blocked\r\n 3205 — Entered inventory parts don’t correspond to the asset refrigerant\r\n 3235 — Failed to process the inventory request\r\n 3219 — MOE number is required; part usage cannot be processed\r\n 3222 — Inventory part IDs and location IDs or GUIDs should not be null\r\n 3309 — There are uncompleted leak records in another WO\r\n 3306 — Refrigerant Tracking Connector is turned on. Only the external client's assets can be processed \r\n 3307 — Refrigerant Tracking Connector is not supported. Only the client's assets can be processed \r\n 3304 — Inventory usage is not allowed on refrigerant tracking for Connected Subscribers and Subcontractors \r\n 3237 — Another WO part use request is in processing now. Please try later \r\n 3236 — Duplicated parts detected \r\n 3327 — The same part is passed for update and removal in the same request \r\n 3207 — Parts with specified part IDs were not found \r\n 503 — Refrigerant usage cannot be processed. There are no refrigerant settings \r\n 503 — Only one asset can be processed in the request \r\n 3213 — Asset is not assigned to the work order \r\n 3305 — External WO currently doesn’t exist. Refrigerant usage is blocked \r\n 3212 — Add part usage: Either remove the Reason Code and the IsRefrigerant flag or specify an asset \r\n 3212 — Asset is not using refrigerant. Reason Code and IsRefrigerant values are not allowed \r\n 3213 — Either the asset is deactivated or you don’t have access to it \r\n 503 — Asset is not connected to any rack \r\n 809 — Work order is in the completed status. Only RT Admins can process \r\n 3230 — Incorrect refrigerant type entered \r\n 4003 — Asset uses refrigerant. RT setting is required \r\n 503 — There are no any charge records with the date earlier than the use date \r\n 3303 — A closed leak record exists for this work order. Only one leak record can exist per work order. Please enter additional part usage on a new work order \r\n 3232 — Leak record part usages cannot be attached to the Retro/Retire plan leak record \r\n 503 — Asset doesn’t contain charge prior to the given date \r\n 503 — Work order refrigerant leak part usages should belong to the same asset charge \r\n 3218 — Use date cannot be after the completed/scheduled date and earlier than the call date \r\n 3315 — Used reason code Retrofit cannot be selected for non-retrofit work orders \r\n 503 — Description field length cannot be more than 250 symbols \r\n 503 — Part number field length cannot be more than 50 symbols \r\n 3208 — Request should contain only one work order ID. Work order IDs found: \r\n 3206 — Incorrect work order \r\n 3201 — Incorrect reason code for the subscriber was entered \r\n 3209 — Invalid IsRefrigerant and Reason Code combination \r\n 3210 — IsRefrigerant flag cannot be changed \r\n 3211 — Reason code change is not allowed \r\n 3224 — Add part usages are not allowed after the Retrofit/Retire creation \r\n 3223 — Part removal is not allowed on the Retrofit/Retire WO \r\n 3319 — Zero charge value. Leak event calculation cannot be executed \r\n 3226 — Initial charge or system expansion are not allowed on “Connected to the rack” assets \r\n 3201 — System expansion and the leak repair cannot be processed in one WO \r\n 3215 — Asset doesn’t contain charge \r\n 3217 — Leak record is currently in processing on another work order \r\n 3229 — Duplicated request detected. Please wait a minute and try again \r\n 3227 — Inventory part cannot be changed \r\n 3228 — Inventory location cannot be changed \r\n 3231 — Part usage date is not allowed in the Retire/Retrofit date interval \r\n 503 — Broken date order in part usages for the system expansion"
schema:
type: string
'500':
description: Something went wrong, and the server was unable to complete your request.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
/workorders/{workorderId}/partsUsage:
get:
tags:
- Parts
summary: Retrieve work order parts usage
operationId: GETv3_workorders_{workorderId}_partsUsage
consumes: []
produces:
- application/json
- text/json
parameters:
- name: workorderId
in: path
description: ''
required: true
type: integer
format: int32
responses:
'200':
description: Indicates that the request succeeded.
schema:
type: array
items:
$ref: '#/definitions/ServiceChannel.Services.Messaging.RefrigerantTracking.WorkOrderPartRefrigerantResponse'
'400':
description: Bad Request - the request could not be understood or was missing required parameters.<br>Error codes:<br>502 - WorkOrder not found;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: Indicates that the requested resource requires authentication.<br>Error codes:<br/> 504 - API call rejected by security permissions;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'500':
description: Error while processing request.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
/parts/isTechCertificationUsedOnRefrigerantTracking:
get:
tags:
- Parts
summary: Verifies that user is associated with parts usage
operationId: GETv3_parts_isTechCertificationUsedOnRefrigerantTracking?authUserId={authUserId}&technicianId={technicianId}&certificationNumber={certificationNumber}
consumes: []
produces:
- application/json
- text/json
parameters:
- name: authUserId
in: query
description: ''
required: true
type: integer
format: int64
- name: technicianId
in: query
description: ''
required: true
type: integer
format: int32
- name: certificationNumber
in: query
description: ''
required: true
type: string
responses:
'200':
description: Indicates that the request succeeded.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.TechnicianAssociatedResponse'
'400':
description: Bad Request - the request could not be understood or was missing required parameters.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: Indicates that the requested resource requires authentication.<br>Error codes:<br/> 504 - API call rejected by security permissions;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'500':
description: Error while processing request.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Providers
/parts/workorders/wasmaterialsused:
get:
tags:
- Parts
summary: Checks materials usage across multiple work orders
operationId: GETv3_parts_workorders_wasmaterialsused?recIds={recIds}
consumes: []
produces:
- application/json
- text/json
parameters:
- name: recIds
in: query
description: ''
required: true
type: string
responses:
'200':
description: Indicates that the request succeeded.
schema:
$ref: '#/definitions/ServiceChannel.Services.WebApi.Models.Response.WasMaterialUsedResponse'
'400':
description: Bad Request - the request could not be understood or was missing required parameters.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: Indicates that the requested resource requires authentication.<br>Error codes:<br/> 504 - API call rejected by security permissions;
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
'500':
description: Error while processing request.
schema:
$ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
definitions:
ServiceChannel.Services.Messaging.Workorders.WorkOrderPartResponse:
type: object
properties:
Id:
format: int32
type: integer
Quantity:
format: float
type: number
RecId:
format: int32
type: integer
Description:
type: string
Price:
format: double
type: number
Reason:
type: string
SupplierPartId:
type: string
SupplierPartAuxiliaryId:
type: string
DefaultNte:
format: double
type: number
NteMultiplier:
format: double
type: number
IsSupplierPart:
default: false
type: boolean
IsInventoryPart:
default: false
type: boolean
InventoryLocationName:
type: string
ServiceChannel.Services.Messaging.ErrorResponse:
description: The error response object
type: object
properties:
ErrorCodes:
description: The list of error codes. Go to /basics/general/response-codes/#internal-error-codes-and-messages to map error codes to error reasons.
type: array
items:
enum:
- NotAllowed
- EmptyProvider
- InvalidProviderId
- UnknownProvider
- ProviderAlreadyExists
- ProviderIdNotExists
- TimeoutExpiredError
- EmptyContract
- ContractUndefined
- EmptySubscriber
- InvalidSubscriberId
- UnknownSubscriber
- InactiveSubscriber
- EmptySubscriberId
- SubscriberIdNotExists
- InternalError
- DataNotFound
- BadRequest
- UnAuthorized
- UnSupportedApplication
- SubsidiaryUserDisabled
- EmptyLocation
- InvalidLocationId
- UnknownLocation
- LocationNotBelongsToSubscriber
- EmptyLocationCountry
- LocationAlreadyExists
- InvalidStoreId
- LocationEmptyState
- NoAccessToLocation
- LocationAddressValidationError
- LocationAddressRequestValidationError
- InvalidLocationNoteHeader
- NoAccessToUpdateProtectedNote
- InvalidBusinessHoursFormat
- WorkingHoursIntersect
- InvalidDayOfWeek
- DuplicateDayOfWeek
- InvalidBusinessHoursInitialSetup
- BusinessHoursIsEmpty
- InvalidHolidayRepeatByType
- EmptyHolidayListOfDays
- EmptyHolidayListOfMonths
- InvalidHolidayMonthName
- InvalidHolidayNameLength
- InvalidHolidayRepeatEvery
- DuplicateMonth
- InvalidHolidayFrequency
- InvalidHolidayStartDate
- InvalidCloseAllDay
- HolidayDoesNotExist
- InvalidFormatParameter
- InvalidLocationCity
- InvalidLocationZip
- InvalidLocationLatitude
- InvalidLocationLongitude
- InvalidLocationEmail
- InvalidLocationName
- InvalidLocationState
- InvalidLocationAddlAddress
- InvalidLocationMainAddress
- InvalidLocationCountry
- InvalidLocationRegion
- InvalidLocationDistrict
- InvalidLocationPhone
- InvalidLocationContact
- InvalidLocationFaxNumber
- LocationCountryNotFound
- LocationStateNotFound
- LocationCityNotFound
- LocationIdNotExists
- InvalidLocationEmailLength
- LocationStateIdNotFound
- IncorrectCombinationStateAndStateId
- InvalidSubscriberIds
- InvalidLocalizationSettings
- LandlordResponsibilityNotFound
- LandlordResponsibilityAlreadyExists
- EmptyLocationIds
- AttachmentNotExist
- InvalidTradeId
- InvalidCategoryId
- InvalidOverrideCategoryId
- InvalidOverridePriorityId
- LeaseNoteExceedMaxLength
- InvalidOverrideProviderRank
- InvalidOverrideNTE
- DuplicateRows
- InvalidPriorityId
- LocationNotFound
- EmptyTrade
- InvalidTrade
- TradeNotBelongsToSubscriber
- InvalidPrimaryTrade
- InvalidTradeForSubscriber
- InvalidCategoryForSubscriber
- GlCodeAlreadyExists
- GlCodeNotExists
- InvalidGlCodeUpdate
- EmptyGlCode
- TradeAlreadyExists
- InvalidNTETrade
- TradeNotExists
- TradeAlreadyInUse
- TradeWithTheSameNameHasBeenDeleted
- TradeInUsePMServices
- TradeInUseProposalError
- TradeInUseRFPError
- TradeInUseChecklistError
- TradeInUseBudgetControl
- TradeInUseGlCode
- TradeInUseDynamicProviderAssignments
- TradeInUseInvoice
- TradeInUseLandlordResponsibilities
- TradeInUseWO
- TradeInUseEquipmentType
- TradeInUseRFP
- TradeInUseConnector
- TradeInUseContractedService
- TradeInUseIVR
- TradeInUseSiteAccess
- TradeInUseGLCodes
- TradeInUseCIWO
- TradeInUseOrganizationPermissions
- TradeСreationError
- EmptyUser
- EmptyCreatedBy
- InvalidUserName
- NotProviderUser
- UserHasNoPermissions
- RestrictedAccount
- UserAlreadyExists
- UserHasNoPermissionsEditWO
- UserEmailAddressIsMissing
- UserIsNotRTAdmin
- InvalidSubsriberProviderId
- LanguageNameNotFound
- InvalidLanguageId
- LanguageIdNotFound
- UseBothSubscriberIdProviderId
- EmptyWoProblem
- InvalidWoProblemSource
- InvalidWoProblemDescription
- InvalidWoProblemCode
- InvalidWoStatus
- InvalidWoNte
- InvalidWoCaller
- InvalidWoCallDate
- InvalidWoScheduledDate
- InvalidWoScheduledDateGreaterThanMaxAllowed
- EmptyWoCategory
- InvalidWoCategory
- EmptyWoPriority
- InvalidWoPriority
- InvalidWoCurrency
- InvalidWoSetupId
- AttachmentsRequired
- InvalidWoIdentifier
- EquipmentRequired
- WoNteOverflow
- InvalidWoPurchaseNumber
- InvalidWoStateForUpdate
- InvalidPagingParameter
- InvalidWoNumber
- CheckInDenied
- CheckOutDenied
- WoScheduledDateLessThenReassignDate
- WoScheduledDateLessThenCallDate
- InvalidWoActionReason
- EmptySubscriberProperty
- WorkOrderUpdateError
- MissedWoNteDetails
- InvalidLinkedWoIdentifier
- WoIsOnHold
- InvalidWoTrade
- InvalidStarScore
- WorkOrderAlreadyRated
- AttachmentThumbnailNotAvailable
- InvalidWoIdentifierOrPin
- InvalidTimeZoneHeader
- RefrigerantWasUsedShouldBeYesOrNo
- CheckInDeniedOutsideGeolocation
- CheckOutDeniedOutsideGeolocation
- LeakDetectorAuditShouldBeCreated
- CheckInOutPremature
- WorkOrderAttachmentsSizeExceeded
- WorkOrderNotFound
- WorkOrderCreateError
- InvalidWoProjectedCompletionDate
- InvalidFollowUpWo
- InvalidWeatherEventId
- InvalidSiteAuditLinkedWo
- InvalidSetupId
- IssueListNotFound
- InvalidIssueListField
- SiteAuditCompleted
- CheckSiteAuditError
- SaveSiteAuditError
- RemoveSiteAuditError
- InactiveTemplateType
- SiteAuditNotFound
- SiteAuditUpdateError
- InvalidSiteAuditParameters
- InvalidAdditionalApprovalCode
- InvalidAdditionalApprovalCodeValue
- AdditionalApprovalCodeIsDisabled
- InvalidOtherDesc
- InvalidTax2Name
- InvoiceInconsistentAmounts
- InvoiceInvalidTotal
- InvoiceTotalGreaterNte
- InvoiceExists
- CreatingInvoiceError
- DuplInvNumber
- InvoiceTotalNull
- InvComplDateNull
- InvDateLessComplDate
- InvoiceNotAuto
- ESignatureRequired
- InvWoNotFound
- InvWrongWoCurr
- InvWoCurrNotFound
- InvoicingDisabled
- InvCreationUnexpectedRes
- InvoiceInvalidLaborAmount
- InvoiceInvalidMaterialAmount
- InvDateOld
- InvDateGreater
- InvoiceMaterialDescriptionLengthOverflow
- InvoiceTaxNotValidated
- InvoiceMaterialPartNumberLengthOverflow
- TaxValidationError
- TaxExemptionError
- InvalidInvoiceNumber
- GetApprovalLevelsError
- InvoiceAddUsersToMliLevelsError
- InvoiceAddDeleteLocationsToMliLevelUserError
- InvoiceUpdateMLiLevelError
- InvoiceDeleteMliLevelError
- InvoiceDeleteUsersFromMliLevelError
- ApprovalLevelNameLengthOverflow
- GstTaxError
- Tax2Error
- GetApprovalLevelsAndLocationsByUserError
- GetAssignedUserShortInfoError
- AssignAllLocationsToApprovalLevelAndUserError
- GetLocationsForApprovalLevelAndAssignedUserError
- GetLocationsBySubscriberError
- AssignUserWithLocationsToApprovalLevelError
- ReAssignUserWithLocationsToNewApprovalLevelError
- ReAssignLocationsToApprovalLevelAndUserError
- OutstandingBalance
- InvoiceTaxDetailsEmpty
- InvoiceTaxDetailsIncorrectSum
- MultipleUsersForLocationIsNotAllowed
- UserAssignedToOtherLevel
- UserDoesNotExist
- LaborLineItemRequired
- MaterialLineItemRequired
- InvoiceDoesntExist
- InvoiceStarUnstarFailed
- InvoiceBatchUpdateInvalidInvoiceStatusError
- InvoiceBatchUpdateLimitExceededError
- InvoiceNotAvailableForCurrentUser
- InvoiceBatchUpdateInvalidRuleSetStructure
- InvoiceBatchUpdateInvalidMliStructure
- InvoiceBatchUpdateStatusError
- InvoiceMaterialUnitTypeInvalid
- ExistingBatchNumber
- InvoiceResolutionTextRequired
- GetInvoiceDefaultApprovalCodesError
- InvoiceInvalidTravelAmount
- InvoiceTravelDescriptionLengthOverflow
- InvoiceTravelUnitTypeInvalid
- TravelLineItemRequired
- TravelDetailsDisabled
- OnOffShoreDisabled
- InvoiceInvalidLaborCount
- InvoiceInvalidMaterialCount
- InvoiceInvalidTravelCount
- SubscriberNotRegisteredForTaxValidation
- ManyDecimalsInAmountError
- DecimalPartQstTaxError
- LaborRatesDiscrepancy
- PayInvoicesError
- InvoiceNumberRequirementsError
- InvoiceNumberIncorrect
- InvoiceNumberRegExPatternError
- GetInvoicesPendingApprovalByLocationError
- ReAssignInvoicesToUsersFailed
- ReAssignInvoicesUsersMatched
- GetUsersForReassignInvoiceError
- InvalidTimeRangeActivity
- OutsourcedSourceInvoiceNotFound
- OthersLineItemsDisabled
- InvoiceInvalidOtherAmount
- InvoiceInvalidOtherCount
- InvoiceOtherDescriptionLengthOverflow
- OtherLineItemRequired
- OtherLineItemsNotNegativeValueRequired
# --- truncated at 32 KB (106 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/servicechannel/refs/heads/main/openapi/servicechannel-parts-api-openapi.yml