ServiceChannel Contracts API

The Contracts API from ServiceChannel — 5 operation(s) for contracts.

OpenAPI Specification

servicechannel-contracts-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: bearer.v1
  title: Fixxbook.Bearer.Api.V1 AfterHours Contracts API
  isOdataApi: false
  relativePath: ''
  discoveryPath: docs/bearer.v1
  _isAuthorizedAccess: true
host: sb2fixxbook.servicechannel.com:443
basePath: /api
schemes:
- https
security:
- oauth2: []
tags:
- name: Contracts
paths:
  /contracts/retire:
    put:
      tags:
      - Contracts
      summary: Retire Provider Contract. When 'Trade' and 'StoreId' are not specified then provider is 'retired' from all subscriber's stores.
      description: Available only for Subscriber Super Admin user.
      operationId: PUTv3_contracts_retire
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Location.RetireProviderRequest'
      responses:
        '200':
          description: Indicates that the request succeeded. When 'Trade' and 'StoreId' are not specified then provider is 'retired' from all subscriber's stores.
          schema:
            $ref: '#/definitions/System.Object'
      deprecated: false
      x-access: Subscribers
  /contracts:
    get:
      tags:
      - Contracts
      summary: Returns provider active contracts by providerId, locationId and trade
      description: Available only for Subscriber user.
      operationId: GETv3_contracts?locationId={locationId}&locationDbId={locationDbId}&providerId={providerId}&trade={trade}&tradeId={tradeId}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: locationId
        in: query
        required: false
        type: string
      - name: locationDbId
        in: query
        required: false
        type: integer
        format: int32
      - name: providerId
        in: query
        required: false
        type: integer
        format: int32
      - name: trade
        in: query
        required: false
        type: string
      - name: tradeId
        in: query
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: The requested contracts are in the response.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.Contracts.GetContractsResponse'
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            503 — Bad Request; locationId or locationDbId should be provided\r\n            503 — Location not found\r\n            503 — Trade not found\r\n            503 — Provider not found\r\n            503 — User does not have Location access to perform this operation"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '403':
          description: "The request is not allowed.\r\n            <br/>Error codes:\r\n            100 — Only for subscribers usage"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: The server was unable to complete the request due to an internal error.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /GetPrimaryRankedProviders/{subscriberId}:
    get:
      tags:
      - Contracts
      summary: Get Primary Ranked Providers of all primary ranked providers for all Trades for a given subscriber
      description: "Returns a list of all primary ranked providers for all Trades for a given subscriber\r\n            <br />The method is available to providers only."
      operationId: GETv3_GetPrimaryRankedProviders_{subscriberId}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: subscriberId
        in: path
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: The primary ranked providers are in the response.
        '400':
          description: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /GetPrimaryRankedProviderTrades/{subscriberId}/{providerId}:
    get:
      tags:
      - Contracts
      summary: Get trades for primary ranked provider
      description: "Returns a list of all trades for primary ranked provider\r\n            <br />The method is available to providers only."
      operationId: GETv3_GetPrimaryRankedProviderTrades_{subscriberId}_{providerId}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: subscriberId
        in: path
        required: true
        type: integer
        format: int32
      - name: providerId
        in: path
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: The primary ranked provider trades are in the response.
        '400':
          description: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
  /GetPrimaryRankedProviderLocations/{subscriberId}/{providerId}/{tradeId}:
    get:
      tags:
      - Contracts
      summary: Get locations for primary ranked provider
      description: "Returns a list of all locations for primary ranked provider\r\n            <br />The method is available to providers only."
      operationId: GETv3_GetPrimaryRankedProviderLocations_{subscriberId}_{providerId}_{tradeId}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: subscriberId
        in: path
        required: true
        type: integer
        format: int32
      - name: providerId
        in: path
        required: true
        type: integer
        format: int32
      - name: tradeId
        in: path
        required: true
        type: integer
        format: int32
      responses:
        '200':
          description: The primary ranked provider locations are in the response.
        '400':
          description: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Any
definitions:
  ServiceChannel.Services.Messaging.Providers.Provider:
    type: object
    properties:
      Phone:
        type: string
      FullName:
        description: Full Name
        type: string
      Address1:
        description: Address1
        type: string
      Address2:
        description: Adress2
        type: string
      City:
        description: City
        type: string
      State:
        description: State
        type: string
      Zip:
        description: Zip
        type: string
      Country:
        description: Country
        type: string
      MainContact:
        description: Main Contact
        type: string
      DateCreated:
        format: date-time
        description: Date Created
        type: string
      LastUserDate:
        description: Last User Date
        type: string
      SuperUser:
        description: SuperUser
        type: string
      WebSite:
        description: WebSite
        type: string
      Email:
        description: Email
        type: string
      TaxId:
        description: Tax Id
        type: string
      Trade:
        description: Trade
        type: string
      ProcessingEmail:
        description: Processing Email
        type: string
      FaxNumber:
        description: Fax Number
        type: string
      SuiteFloor:
        description: Suite Floor
        type: string
      MailInfo:
        description: Mail Info
        type: string
      ImageFile:
        description: Image File
        type: string
      ReturnMail:
        description: Return Mail
        type: string
      MailFrequency:
        format: int32
        description: Mail Frequency
        type: integer
      FormId:
        format: int32
        description: Form Id
        type: integer
      Pager:
        description: Pager
        type: string
      NightRequest:
        format: int32
        description: NightRequest
        type: integer
      ShortFormatEmail:
        description: Short Format Email
        type: string
      LastTrainingDate:
        format: date-time
        description: Last Training Date
        type: string
      LastTrainingDateStr:
        description: Last Training Date as a string
        type: string
      IsInternal:
        description: Is Internal
        default: false
        type: boolean
      IsOnOffShoreFeatureEnabled:
        description: Is OnOffShoreFeature Enabled
        default: false
        type: boolean
      Id:
        format: int32
        description: Id
        type: integer
      Name:
        description: Name
        type: string
      DoNotDispatch:
        description: DoNotDispatch enabled?
        default: false
        type: boolean
  ServiceChannel.Services.Messaging.Users.MlpUserInfo:
    type: object
    properties:
      Id:
        format: int32
        type: integer
      MlpLevel:
        type: string
      MlpLocations:
        type: array
        items:
          format: int32
          type: integer
  ServiceChannel.Services.Messaging.Users.AccessOptions:
    description: Object listing locations, districts, regions, and trades a subscriber user has access to. Learn more about [granting access based on locations, districts, and regions](https://servicechannel.atlassian.net/wiki/spaces/SCU/pages/585107276/Location+District+Region+Access+Tab) in ServiceChannel University.
    type: object
    properties:
      Locations:
        description: Locations a user has access to.
        type: array
        items:
          type: string
      Districts:
        description: Districts a user has access to.
        type: array
        items:
          type: string
      Regions:
        description: Regions a user has access to.
        type: array
        items:
          type: string
      Trades:
        description: Trades a user is permitted to work with.
        type: array
        items:
          type: string
  ServiceChannel.Services.Messaging.Users.User:
    description: User details object.
    type: object
    properties:
      Id:
        format: int32
        description: Unique user identifier.
        type: integer
      SubscriberId:
        format: int32
        description: Unique subscriber ID.
        type: integer
      UserName:
        description: Username of the user.<br /> • For subscriber users, the username appears as **User Id** on the "General Info" tab of the user profile page.<br /> • For provider users, the username is listed as **UserID** under "Access" on the "General" tab of the user profile page.
        pattern: ^$|(^\S+).(\S).(\S)$
        type: string
      FullName:
        description: Full name of the user.<br /> • For subscriber users, the full name appears as **User Name** on the "General Info" tab of the user profile page.<br /> • For provider users, you can see their first and last name under "Basic" on the "General" tab of the user profile page.
        type: string
      Email:
        description: User’s email address.
        type: string
      PsmEmail:
        description: Email address through which a user can reset their password.
        type: string
      Disabled:
        description: Defines if a user is deactivated.
        default: false
        type: boolean
      IsLocked:
        description: Defines if a user is locked.
        default: false
        type: boolean
      Roles:
        description: Secondary roles assigned to a subscriber user that determine their permissions and level of access to various Service Automation modules.
        type: array
        items:
          type: string
      Permissions:
        description: Permissions assigned to a subscriber user that determine whether they have full or read-only access to various Service Automation modules.
        type: array
        items:
          type: string
      UserType:
        description: Subscriber user type defining their level of access to ServiceChannel:<br /> • `Corporate` — a user can work in Service Automation.<br /> • `Dashboard` — a user can only access the dashboard assigned to them.<br />`0` is returned for provider users.
        enum:
        - Corporate
        - Dashboard
        - ServiceChannel
        type: string
      Dashboard:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Users.DashboardInfo'
        description: Dashboard a subscriber user has access to.
      Access:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Users.AccessOptions'
        description: List of locations, districts, regions, and trades a subscriber user has access to.
      Limits:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Users.LimitOptions'
        description: NTE, proposal, and invoice limits set for a subscriber user.
      FeedRole:
        type: string
      MliUserInfo:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Users.MliUserInfo'
        description: ''
      MlpUserInfo:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Users.MlpUserInfo'
  ServiceChannel.Services.Messaging.Users.MliUserInfo:
    type: object
    properties:
      Id:
        format: int32
        type: integer
      MliLevel:
        type: string
      MliLocations:
        type: array
        items:
          format: int32
          type: integer
  ServiceChannel.Api.Model.Entities.Category:
    type: object
    properties:
      Name:
        type: string
      HasDependency:
        default: false
        type: boolean
      PrimaryCategory:
        $ref: '#/definitions/ServiceChannel.Api.Model.Entities.PrimaryCategory'
      Id:
        format: int32
        type: integer
      SubscriberId:
        format: int32
        type: integer
      UserId:
        format: int32
        type: integer
  ServiceChannel.Services.Messaging.Currencies.Currency:
    type: object
    properties:
      Id:
        format: int32
        type: integer
      AlphabeticalCode:
        type: string
      DecimalCount:
        format: int32
        type: integer
      Entity:
        type: string
      CurrencyName:
        type: string
      NumericCode:
        type: string
      Rate:
        format: double
        type: number
  ServiceChannel.Services.Messaging.Users.LimitOptions:
    description: Object for NTE, proposal, and invoice limits set for a subscriber user.
    type: object
    properties:
      NteLimit:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Users.Limit'
        description: Limit for the NTE amount that a user can not exceed upon editing work orders. If a user who has permission to edit work orders tries to enter the NTE amount above the set limit, an error message will appear.
      ProposalLimit:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Users.Limit'
        description: Limit for the proposal amount above which a user can not approve proposals — for users with the corresponding permission. The user can put on hold or reject proposals above their limit.
      InvoiceLimit:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Users.Limit'
        description: Limit for the invoice amount above which a user can not process invoices by changing their status. The user can view invoices above their limit if they have the corresponding permission.
  ServiceChannel.Services.Messaging.Contracts.GetContractsResponse:
    type: object
    properties:
      Contracts:
        type: array
        items:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Contracts.Contract'
  ServiceChannel.Services.Messaging.Trade.Trade:
    description: Trade object.
    type: object
    properties:
      Id:
        format: int32
        description: Numeric identifier of the trade.
        type: integer
      Name:
        description: Trade name.
        type: string
      SubscriberId:
        format: int32
        description: Unique subscriber ID.
        type: integer
  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
          - InvalidLaborSkillLevel
          - InvalidLaborType
          - InvalidTechnicianQuantity
          - GetInvoicesCommonCategoriesError
          - InvoiceExplainDisputeEmpty
          - InvoiceAdditionalApprovalCodeHeaderError
          - TemplateParseSuccess
          - TemplateIncorrectHeaderError
          - TemplateEmptyTemplateError
          - TemplateWrongFieldsCountError
          - TemplateFieldNotFoundError
          - TemplateFieldRequiredError
          - TemplateParseIntError
          - TemplateFieldSizeError
          - TemplateInvalidValueError
          - TemplateFieldFormatError
          - TemplateFieldMaxRangeError
          - TemplateFieldMinRangeError
          - TemplateProviderNotEntered
          - TemplateInvalidSubscriberError
          - TemplateVendorNotFoundError
          - TemplateMissedProviderError
          - TemplateProviderNotFoundError
          - TemplateProviderSubsccriberLinkError
          - TemplateTradeDispatchRankError
          - TemplateInvalidTradeForSubscriberError
          - TemplateStoreNotFoundError
          - TemplateNotStoresForStateError
          - TemplateNotStoresForCountryError
          - TemplateNotStoresForDistrictError
          - TemplateNotStoresForRegionError
          - TemplateMultiplePimaryProvidersForTradeStoreError
          - TemplateDuplicatePrimaryRelationshipError
          - TemplateAmbiguousDataError
          - TemplateIncorrectSubscriber
          - TemplateDuplicateRanking
          - TemplateLongitudeRangeError
          - TemplateLatitudeRangeError
          - InvoiceMaterialPartNameLengthOverflow
          - TemplateTradeLocationExclusion
          - TemplateInvalidStateError
          - TemplateMissedSubscriberError
          - TemplateMissedStoreIdError
          - TemplateInvalidSubscriberIdError
          - TemplateOpenCloseDateError
          - TemplateInvalidCountryError
          - TemplateInvalidStateForCountryError
          - TemplateInvalidLocationTypeError
          - TemplateMissingFullAndShortNameError
          - TemplateMissingCountryError
          - TemplateDuplicatedDataError
          - TemplateParentLocationNotFoundError
          - TemplateParseDateTimeError
          - TemplateParseDecimalError
          - TemplateSquareValueRangeError
          - TemplateInvalidSquareMeasureError
          - TemplateTypeLabelCanNotBeUpdatedError
          - TemplateTypeLabelHaveToBeLocationForNotInventory
          - TemplateInvalidPrimarySupplyLocation
          - TemplateInvalidHomestoreLocationNumber
          - TemplateErrorDuringCreation
          - TemplateLocationNotFoundError
          - TemplateDuplicatedLocationFoundError
          - TemplateInvalidLocationHeaderError
          - TemplateDuplicatedLocationHeaderError
          - TemplateHeaderContainsEmptyFieldsError
          - TemplateLocHeadersShortHeaderError
          - TemplateHeaderContainsDuplicatesError
          - TemplateLocationNotesStoreIdFieldLengthError
          - TemplateLocationNotesNoteValueFieldLengthError
          - TemplateErrorInvalidZipCode
          - TemplateMissingLocationNoteHeader
          - TemplateMissingLocationNoteIdHeader
          - TemplateInvalidSecondarySupplyLocation
          - TemplateLocationWasNotCreated
          - TemplateTruckNameIsEmpty
          - TemplateWrongFormat
          - TemplateSubscriberNotFound
          - TemplateDuplicatedLocationHeaders
          - TemplateInvalidHeaders
          - TemplateInvalidPhoneError
          - TemplateDuplicateTelecomRecordError
          - TemplateTelecomRecordExistsError
          - TemplateInvalidCategory
          - TemplateDifferentRanksForProviderAssignments
          - TemplateDuplicateRankError
          - TemplateProviderNonCompliant
          - TemplateLocationIsClosed
          - TemplateProviderWarning
          - TemplateMultipleProvidersForTradeStoreError
          - EmptyRequest
          - InvalidNumberOfParameters
          - InvoiceOtherUnitTypeInval

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