ServiceChannel Contracts API
The Contracts API from ServiceChannel — 5 operation(s) for contracts.
The Contracts API from ServiceChannel — 5 operation(s) for contracts.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/servicechannel-contracts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
version: bearer.v1
title: Fixxbook.Bearer.Api.V1 AfterHours Contracts API
isOdataApi: false
relativePath: ''
discoveryPath: docs/bearer.v1
_isAuthorizedAccess: true
servers:
- url: https://sb2fixxbook.servicechannel.com:443/api
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
responses:
'200':
description: Indicates that the request succeeded. When 'Trade' and 'StoreId' are not specified then provider is 'retired' from all subscriber's stores.
content:
application/json:
schema:
$ref: '#/components/schemas/System.Object'
text/json:
schema:
$ref: '#/components/schemas/System.Object'
deprecated: false
x-access: Subscribers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Location.RetireProviderRequest'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Location.RetireProviderRequest'
required: true
/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}
parameters:
- name: locationId
in: query
required: false
schema:
type: string
- name: locationDbId
in: query
required: false
schema:
type: integer
format: int32
- name: providerId
in: query
required: false
schema:
type: integer
format: int32
- name: trade
in: query
required: false
schema:
type: string
- name: tradeId
in: query
required: false
schema:
type: integer
format: int32
responses:
'200':
description: The requested contracts are in the response.
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Contracts.GetContractsResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Contracts.GetContractsResponse'
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 503 — Bad Request; locationId or locationDbId should be provided\n 503 — Location not found\n 503 — Trade not found\n 503 — Provider not found\n 503 — User does not have Location access to perform this operation"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'403':
description: "The request is not allowed.\n <br/>Error codes:\n 100 — Only for subscribers usage"
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
/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\n <br />The method is available to providers only."
operationId: GETv3_GetPrimaryRankedProviders_{subscriberId}
parameters:
- name: subscriberId
in: path
required: true
schema:
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.
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
/GetPrimaryRankedProviderTrades/{subscriberId}/{providerId}:
get:
tags:
- Contracts
summary: Get trades for primary ranked provider
description: "Returns a list of all trades for primary ranked provider\n <br />The method is available to providers only."
operationId: GETv3_GetPrimaryRankedProviderTrades_{subscriberId}_{providerId}
parameters:
- name: subscriberId
in: path
required: true
schema:
type: integer
format: int32
- name: providerId
in: path
required: true
schema:
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.
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
/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\n <br />The method is available to providers only."
operationId: GETv3_GetPrimaryRankedProviderLocations_{subscriberId}_{providerId}_{tradeId}
parameters:
- name: subscriberId
in: path
required: true
schema:
type: integer
format: int32
- name: providerId
in: path
required: true
schema:
type: integer
format: int32
- name: tradeId
in: path
required: true
schema:
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.
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
components:
schemas:
ServiceChannel.Services.Messaging.Location.RetireProviderRequest:
required:
- ProviderId
type: object
properties:
StoreId:
description: Optional, When 'Trade' and 'StoreId' are not specified then provider is 'retired' from all subscriber's stores.
type: string
Trade:
description: Optional, When 'Trade' and 'StoreId' are not specified then provider is 'retired' from all subscriber's stores.
type: string
ProviderId:
format: int32
description: Required Provider Id
type: integer
System.Object:
type: object
properties: {}
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: '#/components/schemas/ServiceChannel.Services.Messaging.Users.DashboardInfo'
description: Dashboard a subscriber user has access to.
Access:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Users.AccessOptions'
description: List of locations, districts, regions, and trades a subscriber user has access to.
Limits:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Users.LimitOptions'
description: NTE, proposal, and invoice limits set for a subscriber user.
FeedRole:
type: string
MliUserInfo:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Users.MliUserInfo'
description: ''
MlpUserInfo:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Users.MlpUserInfo'
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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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.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.DashboardInfo:
description: Dashboard details object.
type: object
properties:
Id:
format: int32
description: Unique dashboard identifier.
type: integer
Name:
description: Dashboard name.
type: string
RedirectToDashboard:
description: Defines whether a subscriber user is redirected to a dashboard once they log in.
default: false
type: boolean
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.Api.Model.Entities.Category:
type: object
properties:
Name:
type: string
HasDependency:
default: false
type: boolean
PrimaryCategory:
$ref: '#/components/schemas/ServiceChannel.Api.Model.Entities.PrimaryCategory'
Id:
format: int32
type: integer
SubscriberId:
format: int32
type: integer
UserId:
format: int32
type: integer
ServiceChannel.Services.Messaging.Contracts.Contract:
description: Contract object.
type: object
properties:
Id:
format: int32
description: Numeric identifier of the provider’s assignment.
type: integer
Rank:
format: int32
description: Provider’s rank for the trade and location combo in the subscriber’s system.
type: integer
Contractor:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Providers.Provider'
Client:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Subscribers.Subscriber'
Trade:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Trade.Trade'
Location:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Location.Location'
Category:
$ref: '#/components/schemas/ServiceChannel.Api.Model.Entities.Category'
ServiceChannel.Services.Messaging.Location.Location:
description: General location details object.
type: object
properties:
Id:
format: int32
description: Unique location identifier.
type: integer
SubscriberId:
format: int32
description: Unique subscriber identifier.
type: integer
SubscriberName:
type: string
StoreId:
description: Alphanumeric identifier of the store in the client's system. Assigned by and unique per subscriber.
type: string
Name:
description: Location name.
type: string
ShortName:
description: Shortened location name.
type: string
Latitude:
format: double
description: Global position. Latitude.
type: number
Longitude:
format: double
description: Global position. Longitude.
type: number
Distance:
format: double
description: Distance from GPS coordinate to this location
type: number
Radius:
format: double
description: GPS radius for the location.
type: number
LocationTypeId:
format: int32
description: Numeric identifier of the location type.
type: integer
Address1:
description: Additional location address.
type: string
Address2:
description: Main location address.
type: string
City:
description: Location city.
type: string
State:
description: State where the location is situated.
type: string
StateId:
format: int32
description: Numeric identifier of the location’s state.
type: integer
Region:
description: Part of the country where the location is situated.
type: string
District:
description: Abbreviation of the town or country area where the location is situated.
type: string
Zip:
description: Location ZIP or postal code.
type: string
Country:
description: Abbreviation of the country name where the location is situated.
type: string
CountryId:
format: int32
description: Numeric identifier of the country of the location.
type: integer
ClosedDate:
format: date-time
description: Last day when the location is open for business.
type: string
OpenDate:
format: date-time
description: First day when the location is open for business.
type: string
Status:
description: 'Status of the location. Possible values: *open*, *closed*.'
type: string
Email:
description: Email the location can be contacted at.
type: string
FaxNumber:
description: Fax number the location can be contacted at.
type: string
Phone:
description: Contact phone number of the location.
type: string
Contact:
description: Name of the main person to contact at the location.
type: string
HasInventory:
description: 'Indicates whether it’s an inventory location or not. Possible values: *true*, *false*.'
default: false
type: boolean
SquareValue:
format: double
description: Square value of the facility.
type: number
SquareMeasure:
description: Unit or system of units for measuring location area.
type: string
TimeZoneInfoId:
format: int32
description: Numeric identifier of the location time zone.
type: integer
TimeZoneShortDescription:
description: Location time zone abbreviation.
type: string
TimeZoneMsName:
description: Location time zone Microsoft Name. e.g "Eastern Standard Time"
type: string
TimeZoneIanaName:
description: Location time zone Iana Name. e.g. "America/New_York"
type: string
TypeLabel:
description: '[Inventory location type](https://servicechannel.atlassian.net/wiki/spaces/SCU/pages/1209106525/Creating+Inventory+Locations?preview=%2F1209106525%2F1205830388%2FSupply-House-Type.png). Possible values: *Location*, *Warehouse*, *Supply House*, *Truck*.'
type: string
Supplier:
description: Supplier’s location name.
type: string
CountyId:
format: int32
description: County numeric identifier.
type: integer
Notes:
type: array
items:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.LocationNote.LocationNote'
TimeShiftToEST:
format: int32
type: integer
AddressTypeId:
format: int32
description: Address format pattern Id
type: integer
FormattedAddress:
type: string
LocationFormattedAddressTail:
type: string
IsInternational:
default: false
type: boolean
readOnly: true
Address:
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
# --- truncated at 32 KB (95 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/servicechannel/refs/heads/main/openapi/servicechannel-contracts-api-openapi.yml