openapi: 3.2.0 info: title: Kelowna Production Service Cases API version: v1 tags: - name: ServiceCases paths: /Hardware/ServiceCases/Table: get: tags: - ServiceCases summary: A paginated and filterable endpoint that fetches a list of service cases parameters: - name: MinInitialIndicationDate in: query schema: type: string format: date - name: MinLastUpdatedDate in: query schema: type: string format: date - name: MinTimeElapsedDays in: query schema: type: integer format: int32 deprecated: true - name: MaxTimeElapsedDays in: query schema: type: integer format: int32 deprecated: true - name: StartDate in: query schema: type: string format: date - name: EndDate in: query schema: type: string format: date - name: IsOperational in: query schema: type: boolean - name: ResolutionStatus in: query schema: $ref: '#/components/schemas/ResolutionStatus' - name: TagsToInclude in: query schema: type: array items: type: string - name: TagsToExclude in: query schema: type: array items: type: string - name: ServiceCaseId in: query schema: type: integer format: int32 - name: DivisionId in: query schema: type: integer format: int32 - name: PlantId in: query schema: type: integer format: int32 - name: ReadyMixUnitId in: query schema: type: integer format: int32 - name: Region in: query schema: type: string - name: Country in: query schema: type: string - name: State in: query schema: type: string - name: City in: query schema: type: string - name: HardwareSpecialistId in: query schema: type: integer format: int32 - name: IsOpen in: query schema: type: boolean - name: Limit in: query description: Limit number of responses. Used for pagination. schema: type: integer format: int32 - name: Offset in: query description: Skip this many rows in the query. Used for pagination. schema: type: integer format: int32 - name: SortColumn in: query description: The name of the column to sort by. schema: type: string - name: SortOrder in: query description: The order with which to sort the table by the sort column. schema: $ref: '#/components/schemas/SortOrder' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ServiceCasesTableTableResults' application/json: schema: $ref: '#/components/schemas/ServiceCasesTableTableResults' text/json: schema: $ref: '#/components/schemas/ServiceCasesTableTableResults' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesTable x-operation-id-source: derived /Hardware/ServiceCases/HardwareSpecialists: get: tags: - ServiceCases summary: Fetches a list of CC Staff marked as Hardware Specialists. Used in dropdowns responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/InternalTeamArgs' application/json: schema: type: array items: $ref: '#/components/schemas/InternalTeamArgs' text/json: schema: type: array items: $ref: '#/components/schemas/InternalTeamArgs' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesHardwareSpecialists x-operation-id-source: derived /Hardware/ServiceCases/AllCarbonCureStaff: get: tags: - ServiceCases summary: Fetches a list of all active CC Staff. Used in action selection dropdown responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/InternalTeamArgs' application/json: schema: type: array items: $ref: '#/components/schemas/InternalTeamArgs' text/json: schema: type: array items: $ref: '#/components/schemas/InternalTeamArgs' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesAllCarbonCureStaff x-operation-id-source: derived /Hardware/ServiceCases/Systems: get: tags: - ServiceCases summary: Returns a list of systems with customer info. responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/SystemInfoArgsShort' application/json: schema: type: array items: $ref: '#/components/schemas/SystemInfoArgsShort' text/json: schema: type: array items: $ref: '#/components/schemas/SystemInfoArgsShort' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesSystems x-operation-id-source: derived /Hardware/ServiceCases/Tags: get: tags: - ServiceCases summary: Returns a list of all service case tags used to date. description: Tags are sorted by frequency of use. responses: '200': description: OK content: text/plain: schema: type: array items: type: string application/json: schema: type: array items: type: string text/json: schema: type: array items: type: string security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesTags x-operation-id-source: derived /Hardware/ServiceCases/SystemInfo/{readyMixUnitId}: get: tags: - ServiceCases summary: Fetches general info for a ready mix unit. Used in service case creation parameters: - name: readyMixUnitId in: path description: ID of the ready mix unit. required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/SystemInfoArgs' application/json: schema: $ref: '#/components/schemas/SystemInfoArgs' text/json: schema: $ref: '#/components/schemas/SystemInfoArgs' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesSystemInfoByReadyMixUnitId x-operation-id-source: derived /Hardware/ServiceCases/FilterOptions: get: tags: - ServiceCases summary: Retrieves data required for filtering dropdowns parameters: - name: ServiceCaseId in: query schema: type: integer format: int32 - name: DivisionId in: query schema: type: integer format: int32 - name: PlantId in: query schema: type: integer format: int32 - name: ReadyMixUnitId in: query schema: type: integer format: int32 - name: Region in: query schema: type: string - name: Country in: query schema: type: string - name: State in: query schema: type: string - name: City in: query schema: type: string - name: HardwareSpecialistId in: query schema: type: integer format: int32 - name: IsOpen in: query schema: type: boolean responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ServiceCasesFilterOptions' application/json: schema: $ref: '#/components/schemas/ServiceCasesFilterOptions' text/json: schema: $ref: '#/components/schemas/ServiceCasesFilterOptions' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesFilterOptions x-operation-id-source: derived /Hardware/ServiceCases: post: tags: - ServiceCases summary: Creates a new service case requestBody: description: Arguments required to create new service case. content: application/json: schema: $ref: '#/components/schemas/ServiceCaseCreationArgs' text/json: schema: $ref: '#/components/schemas/ServiceCaseCreationArgs' application/*+json: schema: $ref: '#/components/schemas/ServiceCaseCreationArgs' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ServiceCaseCreationResponse' application/json: schema: $ref: '#/components/schemas/ServiceCaseCreationResponse' text/json: schema: $ref: '#/components/schemas/ServiceCaseCreationResponse' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: postHardwareServiceCases x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}: put: tags: - ServiceCases summary: Updates an existing service case parameters: - name: serviceCaseId in: path description: ID of the service case to update. required: true schema: type: integer format: int32 requestBody: description: Arguments required to update a service case. content: application/json: schema: $ref: '#/components/schemas/ServiceCaseUpdateArgs' text/json: schema: $ref: '#/components/schemas/ServiceCaseUpdateArgs' application/*+json: schema: $ref: '#/components/schemas/ServiceCaseUpdateArgs' responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: putHardwareServiceCasesByServiceCaseId x-operation-id-source: derived get: tags: - ServiceCases summary: Returns details of an existing service case parameters: - name: serviceCaseId in: path description: ID of the service case to fetch. required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ServiceCaseInfoArgs' application/json: schema: $ref: '#/components/schemas/ServiceCaseInfoArgs' text/json: schema: $ref: '#/components/schemas/ServiceCaseInfoArgs' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesByServiceCaseId x-operation-id-source: derived delete: tags: - ServiceCases summary: Deletes a service case description: This endpoint was made for use in system tests, and is not used anywhere in the actual Orca application. parameters: - name: serviceCaseId in: path required: true schema: type: integer format: int32 responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: deleteHardwareServiceCasesByServiceCaseId x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}/Resolve: put: tags: - ServiceCases summary: Resolves an existing service case parameters: - name: serviceCaseId in: path description: ID of the service case to resolve. required: true schema: type: integer format: int32 requestBody: description: Arguments required to resolve a service case. content: application/json: schema: $ref: '#/components/schemas/ServiceCaseResolutionArgs' text/json: schema: $ref: '#/components/schemas/ServiceCaseResolutionArgs' application/*+json: schema: $ref: '#/components/schemas/ServiceCaseResolutionArgs' responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: putHardwareServiceCasesByServiceCaseIdResolve x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}/Resources: get: tags: - ServiceCases summary: Retrieves a list of resources attached to a service case parameters: - name: serviceCaseId in: path description: ID of the service case to fetch resources for. required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/ServiceCaseResourceArgs' application/json: schema: type: array items: $ref: '#/components/schemas/ServiceCaseResourceArgs' text/json: schema: type: array items: $ref: '#/components/schemas/ServiceCaseResourceArgs' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesByServiceCaseIdResources x-operation-id-source: derived post: tags: - ServiceCases summary: Uploads and attaches a resource to a service case. parameters: - name: serviceCaseId in: path description: ID of the service to upload resource to. required: true schema: type: integer format: int32 requestBody: content: multipart/form-data: schema: type: object properties: File: type: string format: binary Name: type: string Notes: type: string Link: type: string encoding: File: style: form Name: style: form Notes: style: form Link: style: form responses: '200': description: OK deprecated: true security: - OrcaAuth: - applicationId - roles - {} - {} operationId: postHardwareServiceCasesByServiceCaseIdResources x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}/Resources/Upload: post: tags: - ServiceCases summary: Creates a record for a resource. description: Uploads through the S3 pre-signed URL are subject to the standard size limit of a single S3 request (5 GB). parameters: - name: serviceCaseId in: path description: ID of the service case to upload the resource for. required: true schema: type: integer format: int32 requestBody: description: The resource metadata. content: application/json: schema: $ref: '#/components/schemas/ServiceCaseResourceCreationArgs' text/json: schema: $ref: '#/components/schemas/ServiceCaseResourceCreationArgs' application/*+json: schema: $ref: '#/components/schemas/ServiceCaseResourceCreationArgs' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ResourceResponse' application/json: schema: $ref: '#/components/schemas/ResourceResponse' text/json: schema: $ref: '#/components/schemas/ResourceResponse' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: postHardwareServiceCasesByServiceCaseIdResourcesUpload x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}/Resources/Upload/{resourceId}: put: tags: - ServiceCases summary: Confirms that a resource upload via pre-signed URL succeeded parameters: - name: serviceCaseId in: path description: ID of the associated service case. required: true schema: type: integer format: int32 - name: resourceId in: path description: ID of the resource to confirm a successful upload for. required: true schema: type: integer format: int32 responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: putHardwareServiceCasesByServiceCaseIdResourcesUploadByResourceId x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}/Resources/{resourceId}: get: tags: - ServiceCases summary: Fetches a resource link or generates a pre-signed URL to access the S3 file parameters: - name: serviceCaseId in: path description: ID of the service case associated with the resource. required: true schema: type: integer format: int32 - name: resourceId in: path description: ID of the resource to be deleted. required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: type: string application/json: schema: type: string text/json: schema: type: string security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesByServiceCaseIdResourcesByResourceId x-operation-id-source: derived delete: tags: - ServiceCases summary: Deletes a service case resource parameters: - name: serviceCaseId in: path description: ID of the service case associated with the resource. required: true schema: type: integer format: int32 - name: resourceId in: path description: ID of the resource to be deleted. required: true schema: type: integer format: int32 responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: deleteHardwareServiceCasesByServiceCaseIdResourcesByResourceId x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}/FollowUp: get: tags: - ServiceCases summary: Fetches list of all follow-ups associated with a service case parameters: - name: serviceCaseId in: path description: ID of service case to retrieve follow-up items for. required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/FollowUpArgs' application/json: schema: type: array items: $ref: '#/components/schemas/FollowUpArgs' text/json: schema: type: array items: $ref: '#/components/schemas/FollowUpArgs' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesByServiceCaseIdFollowUp x-operation-id-source: derived post: tags: - ServiceCases summary: Adds a new follow-up item to a service case parameters: - name: serviceCaseId in: path description: ID of service case to create a follow-up item for. required: true schema: type: integer format: int32 requestBody: description: Follow-up creation arguments. content: application/json: schema: $ref: '#/components/schemas/FollowUpCreationArgs' text/json: schema: $ref: '#/components/schemas/FollowUpCreationArgs' application/*+json: schema: $ref: '#/components/schemas/FollowUpCreationArgs' responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: postHardwareServiceCasesByServiceCaseIdFollowUp x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}/FollowUp/{followUpId}: put: tags: - ServiceCases summary: Updated an existing follow-up item parameters: - name: serviceCaseId in: path description: ID of service case to update a follow-up item for. required: true schema: type: integer format: int32 - name: followUpId in: path description: ID of the follow-up item to update. required: true schema: type: integer format: int32 requestBody: description: Follow-up update arguments. content: application/json: schema: $ref: '#/components/schemas/FollowUpCreationArgs' text/json: schema: $ref: '#/components/schemas/FollowUpCreationArgs' application/*+json: schema: $ref: '#/components/schemas/FollowUpCreationArgs' responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: putHardwareServiceCasesByServiceCaseIdFollowUpByFollowUpId x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}/History: get: tags: - ServiceCases summary: Gets a list of historical actions tied to a service case parameters: - name: serviceCaseId in: path description: ID of service case to fetch history for. required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/HistoryItem' application/json: schema: type: array items: $ref: '#/components/schemas/HistoryItem' text/json: schema: type: array items: $ref: '#/components/schemas/HistoryItem' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesByServiceCaseIdHistory x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}/Action: post: tags: - ServiceCases summary: Adds a new action item to a service case parameters: - name: serviceCaseId in: path description: ID of service case to create action item for. required: true schema: type: integer format: int32 requestBody: description: Arguments used to create action item content: application/json: schema: $ref: '#/components/schemas/ActionCreationArgs' text/json: schema: $ref: '#/components/schemas/ActionCreationArgs' application/*+json: schema: $ref: '#/components/schemas/ActionCreationArgs' responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: postHardwareServiceCasesByServiceCaseIdAction x-operation-id-source: derived /Hardware/ServiceCases/{serviceCaseId}/Action/{actionId}: put: tags: - ServiceCases summary: Updates an existing service case action item parameters: - name: serviceCaseId in: path description: ID of service case to update action item for. required: true schema: type: integer format: int32 - name: actionId in: path description: ID of action item to update. required: true schema: type: integer format: int32 requestBody: description: Arguments used to update action item. content: application/json: schema: $ref: '#/components/schemas/ActionCreationArgs' text/json: schema: $ref: '#/components/schemas/ActionCreationArgs' application/*+json: schema: $ref: '#/components/schemas/ActionCreationArgs' responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: putHardwareServiceCasesByServiceCaseIdActionByActionId x-operation-id-source: derived /Hardware/ServiceCases/Parts: get: tags: - ServiceCases summary: Gets a list of all available parts responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/ReadyMixUnitPart' application/json: schema: type: array items: $ref: '#/components/schemas/ReadyMixUnitPart' text/json: schema: type: array items: $ref: '#/components/schemas/ReadyMixUnitPart' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesParts x-operation-id-source: derived /Hardware/ServiceCases/Parts/{serviceCaseId}: get: tags: - ServiceCases summary: Gets a list of parts associated with a service case parameters: - name: serviceCaseId in: path description: ID of service case to get parts for required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/ActionPartArgs' application/json: schema: type: array items: $ref: '#/components/schemas/ActionPartArgs' text/json: schema: type: array items: $ref: '#/components/schemas/ActionPartArgs' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesPartsByServiceCaseId x-operation-id-source: derived /Hardware/ServiceCases/Parts/{actionPartId}: put: tags: - ServiceCases summary: Updates a part associated with a service case parameters: - name: actionPartId in: path description: ID of part to update required: true schema: type: integer format: int32 requestBody: description: Args to update par content: application/json: schema: $ref: '#/components/schemas/PartArgs' text/json: schema: $ref: '#/components/schemas/PartArgs' application/*+json: schema: $ref: '#/components/schemas/PartArgs' responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: putHardwareServiceCasesPartsByActionPartId x-operation-id-source: derived delete: tags: - ServiceCases summary: Deletes a part associated with a service case parameters: - name: actionPartId in: path description: ID of part to update required: true schema: type: integer format: int32 responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: deleteHardwareServiceCasesPartsByActionPartId x-operation-id-source: derived /Hardware/ServiceCases/SlackChannelNames: get: tags: - ServiceCases summary: Fetches a list of public customer success Slack channels responses: '200': description: OK content: text/plain: schema: type: array items: type: string application/json: schema: type: array items: type: string text/json: schema: type: array items: type: string security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesSlackChannelNames x-operation-id-source: derived /Hardware/ServiceCases/HistoricalContacts: get: tags: - ServiceCases summary: Gets a list of customer contacts which were previously inputted in service cases description: Response will have only one record per name. Duplicate contacts are condensed together as best as we can. parameters: - name: divisionId in: query description: The ID of the division to get contacts for. schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/CustomerContact' application/json: schema: type: array items: $ref: '#/components/schemas/CustomerContact' text/json: schema: type: array items: $ref: '#/components/schemas/CustomerContact' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesHistoricalContacts x-operation-id-source: derived /Hardware/ServiceCases/OpenCases/{plantId}: get: tags: - ServiceCases summary: Gets a list of open service cases for a given plant parameters: - name: plantId in: path description: The ID of the plant to get cases for. required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/ServiceCaseInfoArgsShort' application/json: schema: type: array items: $ref: '#/components/schemas/ServiceCaseInfoArgsShort' text/json: schema: type: array items: $ref: '#/components/schemas/ServiceCaseInfoArgsShort' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareServiceCasesOpenCasesByPlantId x-operation-id-source: derived components: schemas: ServiceCaseInfoArgs: type: object properties: caseClosedTimestamp: type: - string - 'null' format: date-time resolutionStatus: $ref: '#/components/schemas/ResolutionStatus' internalTimeSpent: $ref: '#/components/schemas/InternalTimeSpent' teamResponsible: $ref: '#/components/schemas/TeamResponsible' resolutionComments: type: - string - 'null' rootCause: type: - string - 'null' customerResolutionComments: type: - string - 'null' customerFeedback: type: - string - 'null' timeElapsedDays: type: integer format: int32 totalDaysDown: type: integer format: int32 systemInfo: $ref: '#/components/schemas/SystemInfoArgs' serviceCaseId: type: integer format: int32 emailFrequency: $ref: '#/components/schemas/EmailFrequency' slackChannel: type: - string - 'null' approxIssueStartDate: type: string format: date initialIndicationDate: type: string format: date caseOpenedTimestamp: type: string format: date-time lastUpdatedTimestamp: type: string format: date-time hardwareSpecialistId: type: - integer - 'null' format: int32 hardwareSpecialistName: type: - string - 'null' primaryContactName: type: - string - 'null' primaryContactPhone: type: - string - 'null' primaryContactEmail: type: - string - 'null' primaryContactRole: type: - string - 'null' secondaryContactName: type: - string - 'null' secondaryContactPhone: type: - string - 'null' secondaryContactEmail: type: - string - 'null' secondaryContactRole: type: - string - 'null' initialHypothesis: type: - string - 'null' problemDescription: type: - string - 'null' indicationSource: $ref: '#/components/schemas/IndicationSource' tags: type: - array - 'null' items: type: string additionalProperties: false FollowUpType: enum: - Meeting - Call type: string SonarSystemSnoozeReason: enum: - Seasonal - MaintenanceProducer - MaintenanceCarbonCure - MaintenanceCO2Tank - Churned - Inactive - Other type: string SonarPlant: type: object properties: plantId: type: integer format: int32 name: type: - string - 'null' additionalProperties: false ServiceCaseResourceArgs: type: object properties: resourceId: type: integer format: int32 serviceCaseId: type: integer format: int32 notes: type: - string - 'null' fileName: type: - string - 'null' link: type: - string - 'null' uploadedByName: type: - string - 'null' additionalProperties: false SystemInfoArgsShort: type: object properties: readyMixUnitId: type: integer format: int32 divisionId: type: integer format: int32 divisionName: type: - string - 'null' plantId: type: integer format: int32 plantName: type: - string - 'null' workflowName: type: - string - 'null' city: type: - string - 'null' state: type: - string - 'null' hmiId: type: integer format: int32 valveEnclosureSerial: type: - string - 'null' airlinkIpAddress: type: - string - 'null' readOnly: true hmiIpAddress: type: - string - 'null' readOnly: true plcIpAddress: type: - string - 'null' readOnly: true usbLink: type: - string - 'null' readOnly: true sdLink: type: - string - 'null' readOnly: true ftpLink: type: - string - 'null' readOnly: true additionalProperties: false SonarSystemSnoozeArgs: type: object properties: reasonDetail: type: - string - 'null' snoozeUntilTimestamp: type: - string - 'null' format: date-time systemReason: $ref: '#/components/schemas/SonarSystemSnoozeReason' additionalProperties: false TeamResponsible: enum: - CarbonCure - Customer - CO2Supplier - Contractor - Other type: string ActionStatus: enum: - Identified - ReplacedImprovement - ReplacedNoChange - Replacing - Unused - Unknown type: string EmailFrequency: enum: - Daily - Weekly - Biweekly - OnResolution type: string ResolutionStatus: enum: - Done - WillNotDo - Duplicate type: string ResourceResponse: type: object properties: resourceId: type: integer format: int32 uploadLink: type: - string - 'null' additionalProperties: false InternalTeamArgs: type: object properties: userId: type: integer format: int32 name: type: - string - 'null' email: type: - string - 'null' isDisabled: type: boolean designation: $ref: '#/components/schemas/InternalTeamDesignation' additionalProperties: false FollowUpCreationArgs: type: object properties: assignedUserId: type: integer format: int32 scheduledForTimestamp: type: string format: date-time followUpType: $ref: '#/components/schemas/FollowUpType' status: $ref: '#/components/schemas/FollowUpStatus' comments: type: - string - 'null' additionalProperties: false ServiceCaseResourceCreationArgs: type: object properties: name: type: - string - 'null' notes: type: - string - 'null' link: type: - string - 'null' additionalProperties: false CustomerContact: type: object properties: name: type: - string - 'null' phone: type: - string - 'null' email: type: - string - 'null' role: type: - string - 'null' lastUsedTimestamp: type: string format: date-time additionalProperties: false ServiceCaseUpdateArgs: type: object properties: isOperational: type: boolean hardwareSpecialistId: type: integer format: int32 emailFrequency: $ref: '#/components/schemas/EmailFrequency' slackChannel: type: - string - 'null' primaryContactName: type: - string - 'null' primaryContactPhone: type: - string - 'null' primaryContactEmail: type: - string - 'null' primaryContactRole: type: - string - 'null' secondaryContactName: type: - string - 'null' secondaryContactPhone: type: - string - 'null' secondaryContactEmail: type: - string - 'null' secondaryContactRole: type: - string - 'null' tags: type: - array - 'null' items: type: string additionalProperties: false ActionType: enum: - RemoteTroubleshoot - OnsiteTroubleshoot - CustomerCommunication - InternalCommunication - GeneralNote type: string FollowUpArgs: type: object properties: serviceCaseFollowUpId: type: integer format: int32 serviceCaseId: type: integer format: int32 assignedUserId: type: integer format: int32 assignedUserName: type: - string - 'null' lastUpdatedByUserId: type: - integer - 'null' format: int32 lastUpdatedByUserName: type: - string - 'null' lastUpdatedTimestamp: type: - string - 'null' format: date-time scheduledForTimestamp: type: string format: date-time status: $ref: '#/components/schemas/FollowUpStatus' followUpType: $ref: '#/components/schemas/FollowUpType' comments: type: - string - 'null' additionalProperties: false InternalTeamArgsShort: type: object properties: userId: type: integer format: int32 name: type: - string - 'null' additionalProperties: false ServiceCaseCreationArgs: type: object properties: isOperational: type: boolean hardwareSpecialistId: type: integer format: int32 emailFrequency: $ref: '#/components/schemas/EmailFrequency' slackChannel: type: - string - 'null' primaryContactName: type: - string - 'null' primaryContactPhone: type: - string - 'null' primaryContactEmail: type: - string - 'null' primaryContactRole: type: - string - 'null' secondaryContactName: type: - string - 'null' secondaryContactPhone: type: - string - 'null' secondaryContactEmail: type: - string - 'null' secondaryContactRole: type: - string - 'null' tags: type: - array - 'null' items: type: string readyMixUnitId: type: integer format: int32 snoozeUntilResolution: type: boolean sonarSnoozeArgs: $ref: '#/components/schemas/SonarSystemSnoozeArgs' initialIndicationDate: type: string format: date approxIssueStartDate: type: - string - 'null' format: date problemDescription: type: - string - 'null' initialHypothesis: type: - string - 'null' indicationSource: $ref: '#/components/schemas/IndicationSource' actions: type: - array - 'null' items: $ref: '#/components/schemas/ActionCreationArgs' additionalProperties: false ServiceCaseResolutionArgs: type: object properties: caseClosedTimestamp: type: - string - 'null' format: date-time resolutionStatus: $ref: '#/components/schemas/ResolutionStatus' internalTimeSpent: $ref: '#/components/schemas/InternalTimeSpent' teamResponsible: $ref: '#/components/schemas/TeamResponsible' resolutionComments: type: - string - 'null' rootCause: type: - string - 'null' customerResolutionComments: type: - string - 'null' customerFeedback: type: - string - 'null' timeElapsedDays: type: integer format: int32 totalDaysDown: type: integer format: int32 additionalProperties: false ServiceCaseSystem: type: object properties: readyMixUnitId: type: integer format: int32 workflowName: type: - string - 'null' hmiId: type: - string - 'null' additionalProperties: false OrificeType: enum: - Single - Dual - Triple type: string SystemInfoArgs: type: object properties: readyMixUnitId: type: integer format: int32 divisionId: type: integer format: int32 divisionName: type: - string - 'null' plantId: type: integer format: int32 plantName: type: - string - 'null' workflowName: type: - string - 'null' city: type: - string - 'null' state: type: - string - 'null' hmiId: type: integer format: int32 valveEnclosureSerial: type: - string - 'null' airlinkIpAddress: type: - string - 'null' readOnly: true hmiIpAddress: type: - string - 'null' readOnly: true plcIpAddress: type: - string - 'null' readOnly: true usbLink: type: - string - 'null' readOnly: true sdLink: type: - string - 'null' readOnly: true ftpLink: type: - string - 'null' readOnly: true customerSuccessName: type: - string - 'null' isOperational: type: boolean isDown: type: boolean serial: type: - string - 'null' address: type: - string - 'null' lastSeen: type: string format: date-time latestInjectionTimestamp: type: - string - 'null' format: date-time isSnoozed: type: boolean snoozeReason: $ref: '#/components/schemas/SonarSystemSnoozeReason' snoozeReasonDetails: type: - string - 'null' snoozeUntilTimestamp: type: - string - 'null' format: date-time internalTeam: type: - array - 'null' items: $ref: '#/components/schemas/InternalTeamArgs' productionMachineLink: type: - string - 'null' orificeType: $ref: '#/components/schemas/OrificeType' additionalProperties: false HistoryItem: type: object properties: actionTimestamp: type: string format: date-time notes: type: - string - 'null' actionTakenByUserId: type: - integer - 'null' format: int32 parts: type: - array - 'null' items: $ref: '#/components/schemas/PartArgs' specifiedActions: type: - array - 'null' items: type: string results: type: - array - 'null' items: type: string communicationMethod: $ref: '#/components/schemas/CommunicationMethod' customerCommunicator: type: - string - 'null' actionType: type: - string - 'null' staffCommunicators: type: - array - 'null' items: type: string serviceCaseActionId: type: - integer - 'null' format: int32 actionTakenByUserName: type: - string - 'null' creationTimestamp: type: - string - 'null' format: date-time lastUpdatedByUserName: type: - string - 'null' lastUpdatedTimestamp: type: - string - 'null' format: date-time partNames: type: - array - 'null' items: type: string additionalProperties: false PartArgs: type: object properties: partId: type: integer format: int32 actionReason: $ref: '#/components/schemas/ActionReason' actionStatus: $ref: '#/components/schemas/ActionStatus' notes: type: - string - 'null' additionalProperties: false IndicationSource: enum: - Quicksight - Sonar - Colleague - CustomerEmail - CustomerText - CustomerPhone - SystemTelemetry - Onsite type: string ServiceCaseCreationResponse: type: object properties: serviceCaseId: type: integer format: int32 error: type: - string - 'null' additionalProperties: false FollowUpStatus: enum: - Scheduled - AwaitingInternalResponse - AwaitingExternalResponse - Completed - Canceled type: string ActionCreationArgs: type: object properties: actionTimestamp: type: string format: date-time notes: type: - string - 'null' actionTakenByUserId: type: - integer - 'null' format: int32 parts: type: - array - 'null' items: $ref: '#/components/schemas/PartArgs' specifiedActions: type: - array - 'null' items: type: string results: type: - array - 'null' items: type: string communicationMethod: $ref: '#/components/schemas/CommunicationMethod' customerCommunicator: type: - string - 'null' actionType: $ref: '#/components/schemas/ActionType' staffCommunicators: type: - array - 'null' items: type: string additionalProperties: false ActionReason: enum: - Failure - Preventative - Spare - Upgrade - Historic type: string InternalTimeSpent: enum: - LessThan1Hour - Between1And3Hours - Between3And12Hours - Between1And5Days - MoreThan1Week type: string InternalTeamDesignation: enum: - Hardware - AccountManager - Tss - Tpm type: string ServiceCasesTable: type: object properties: divisionId: type: integer format: int32 divisionName: type: - string - 'null' state: type: - string - 'null' city: type: - string - 'null' plantName: type: - string - 'null' workflowName: type: - string - 'null' readyMixUnitId: type: integer format: int32 hmiId: type: integer format: int32 serviceCaseId: type: integer format: int32 hardwareSpecialistId: type: - integer - 'null' format: int32 hardwareSpecialistName: type: - string - 'null' initialIndicationDate: type: string format: date caseOpenedTimestamp: type: string format: date-time caseClosedTimestamp: type: - string - 'null' format: date-time timeElapsedDays: type: integer format: int32 isOperational: type: boolean lastUpdatedTimestamp: type: string format: date-time isDown: type: boolean systemLastSeenTimestamp: type: string format: date-time tags: type: - array - 'null' items: type: string additionalProperties: false SortOrder: enum: - Ascending - Descending type: string ServiceCasesTableTableResults: type: object properties: count: type: integer format: int32 results: type: - array - 'null' items: $ref: '#/components/schemas/ServiceCasesTable' additionalProperties: false ActionPartArgs: type: object properties: partId: type: integer format: int32 actionReason: $ref: '#/components/schemas/ActionReason' actionStatus: $ref: '#/components/schemas/ActionStatus' notes: type: - string - 'null' actionPartId: type: integer format: int32 actionId: type: integer format: int32 actionTakenByUserName: type: - string - 'null' specifiedActions: type: - array - 'null' items: type: string partName: type: - string - 'null' partNumber: type: - string - 'null' additionalProperties: false ReadyMixUnitPart: required: - name type: object properties: partId: type: integer format: int32 name: minLength: 1 type: string partNumber: type: - string - 'null' additionalProperties: false CommunicationMethod: enum: - PhoneCall - Email - InPerson - Text type: string ServiceCasesFilterOptions: type: object properties: producers: type: - array - 'null' items: $ref: '#/components/schemas/SonarProducer' plants: type: - array - 'null' items: $ref: '#/components/schemas/SonarPlant' systems: type: - array - 'null' items: $ref: '#/components/schemas/ServiceCaseSystem' regions: type: - array - 'null' items: type: string countries: type: - array - 'null' items: type: string states: type: - array - 'null' items: type: string cities: type: - array - 'null' items: type: string serviceCaseIds: type: - array - 'null' items: type: integer format: int32 hardwareSpecialists: type: - array - 'null' items: $ref: '#/components/schemas/InternalTeamArgsShort' resolutionStatuses: type: - array - 'null' items: $ref: '#/components/schemas/ResolutionStatus' additionalProperties: false SonarProducer: type: object properties: divisionId: type: integer format: int32 name: type: - string - 'null' additionalProperties: false ServiceCaseInfoArgsShort: type: object properties: readyMixUnitId: type: integer format: int32 hmiId: type: integer format: int32 workflowName: type: - string - 'null' serial: type: - string - 'null' serviceCaseId: type: integer format: int32 initialIndicationDate: type: string format: date initialHypothesis: type: - string - 'null' problemDescription: type: - string - 'null' indicationSource: $ref: '#/components/schemas/IndicationSource' primaryContactName: type: - string - 'null' additionalProperties: false securitySchemes: OrcaAuth: type: oauth2 flows: authorizationCode: authorizationUrl: https://auth.carboncure.com/oauth2/authorize tokenUrl: https://auth.carboncure.com/oauth2/token scopes: {} MyCCAuth: type: oauth2 flows: authorizationCode: authorizationUrl: https://auth.carboncure.com/oauth2/authorize tokenUrl: https://auth.carboncure.com/oauth2/token scopes: {} M2MAuth: type: oauth2 flows: authorizationCode: authorizationUrl: https://auth.carboncure.com/oauth2/authorize tokenUrl: https://auth.carboncure.com/oauth2/token scopes: {}