openapi: 3.2.0 info: title: Kelowna Production Engineering (Orca) API version: v1 tags: - name: Engineering (Orca) paths: /Hardware/Mixer/RemoteUnits: get: tags: - Engineering (Orca) summary: Gets a list of the ready-mix units description: Used for a dropdown on Orca parameters: - name: limit in: query description: Results limit so swagger doesn't break. schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/ReadyMixUnitArgs' application/json: schema: type: array items: $ref: '#/components/schemas/ReadyMixUnitArgs' text/json: schema: type: array items: $ref: '#/components/schemas/ReadyMixUnitArgs' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareMixerRemoteUnits x-operation-id-source: derived /Hardware/Mixer/RemoteUnits/{id}/Injections: get: tags: - Engineering (Orca) summary: Gets CO2 injections recorded by a ready-mix unit parameters: - name: id in: path description: The ID of the mixer unit required: true schema: type: integer format: int32 - name: limit in: query description: The maximum number of injections to return schema: type: integer format: int32 default: 10 - name: startTime in: query description: Filter for earliest injection start time schema: type: string format: date-time - name: endTime in: query description: Filter for latest injection start time schema: type: string format: date-time responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/Injection' application/json: schema: type: array items: $ref: '#/components/schemas/Injection' text/json: schema: type: array items: $ref: '#/components/schemas/Injection' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareMixerRemoteUnitsByIdInjections x-operation-id-source: derived /Hardware/Mixer/RemoteUnits/{id}/InjectionsTableResults: get: tags: - Engineering (Orca) summary: Gets CO2 injections recorded by a ready-mix unit (with pagination) parameters: - name: id in: path description: The ID of the mixer unit required: true schema: type: integer format: int32 - 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' - name: startTime in: query description: Filter for earliest injection start time schema: type: string format: date-time - name: endTime in: query description: Filter for latest injection start time schema: type: string format: date-time responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/InjectionTableResults' application/json: schema: $ref: '#/components/schemas/InjectionTableResults' text/json: schema: $ref: '#/components/schemas/InjectionTableResults' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareMixerRemoteUnitsByIdInjectionsTableResults x-operation-id-source: derived /Hardware/Mixer/RemoteUnits/{id}/InjectionReadings: get: tags: - Engineering (Orca) summary: Gets detailed readings surrounding injections description: 'Note that the startTime is a required parameter for performance reasons. For big enough time ranges, this endpoint will become unusably slow.' parameters: - name: id in: path description: The ID of the mixer unit required: true schema: type: integer format: int32 - 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' - name: startTime in: query description: Filter for earliest reading timestamp schema: type: string format: date-time - name: endTime in: query description: Filter for latest reading timestamp schema: type: string format: date-time responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/InjectionReadingTableResults' application/json: schema: $ref: '#/components/schemas/InjectionReadingTableResults' text/json: schema: $ref: '#/components/schemas/InjectionReadingTableResults' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareMixerRemoteUnitsByIdInjectionReadings x-operation-id-source: derived /Hardware/Mixer/RemoteUnits/{id}/StatusesTableResults: get: tags: - Engineering (Orca) summary: Gets status readings recorded by a ready-mix unit (with pagination) parameters: - name: id in: path description: The ID of the mixer unit required: true schema: type: integer format: int32 - 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' - name: startTime in: query description: Filter for earliest status time stamp schema: type: string format: date-time - name: endTime in: query description: Filter for latest status time stamp schema: type: string format: date-time responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/StatusTableResults' application/json: schema: $ref: '#/components/schemas/StatusTableResults' text/json: schema: $ref: '#/components/schemas/StatusTableResults' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareMixerRemoteUnitsByIdStatusesTableResults x-operation-id-source: derived /Hardware/Mixer/RemoteUnits/{id}/Alarms: get: tags: - Engineering (Orca) summary: Gets alarms raised by a ready-mix unit parameters: - name: id in: path description: The ID of the mixer unit required: true schema: type: integer format: int32 - name: limit in: query description: The maximum number of alarms to return schema: type: integer format: int32 default: 10 responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/Alarm' application/json: schema: type: array items: $ref: '#/components/schemas/Alarm' text/json: schema: type: array items: $ref: '#/components/schemas/Alarm' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getHardwareMixerRemoteUnitsByIdAlarms x-operation-id-source: derived /Hardware/Mixer/RemoteUnits/{id}/Watchlist: put: tags: - Engineering (Orca) summary: Updates the watchlist status for a ready mix unit description: 'The watchlist is used to keep track of mixer units that should not be sending data. https://carboncure.atlassian.net/browse/KEL-658' parameters: - name: id in: path description: Id of the mixer unit required: true schema: type: integer format: int32 - name: isOnWatchlist in: query description: Whether or not to include the ready mix unit in the watchlist schema: type: boolean responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} operationId: putHardwareMixerRemoteUnitsByIdWatchlist x-operation-id-source: derived components: schemas: Status: type: object properties: statusId: type: integer format: int64 readyMixUnitId: type: integer format: int32 inletLiquidPressureKPa: type: number format: float inletGasPressureKPa: type: - number - 'null' format: float upstreamTemperatureC: type: - number - 'null' format: float timestamp: type: string format: date-time createdTimestamp: type: - string - 'null' format: date-time additionalProperties: false StatusTableResults: type: object properties: count: type: integer format: int32 results: type: - array - 'null' items: $ref: '#/components/schemas/Status' additionalProperties: false MixerAlarmCodeDetails: type: object properties: alarmCodeDetailsId: type: integer format: int32 code: type: integer format: int32 message: type: - string - 'null' severity: $ref: '#/components/schemas/AlarmSeverity' additionalProperties: false InjectionTableResults: type: object properties: count: type: integer format: int32 results: type: - array - 'null' items: $ref: '#/components/schemas/Injection' additionalProperties: false Injection: type: object properties: injectionId: type: integer format: int64 readyMixUnitId: type: integer format: int32 createdTimestamp: type: - string - 'null' format: date-time startTimestamp: type: string format: date-time endTimestamp: type: string format: date-time ambientTemperature: type: - number - 'null' format: float readings: type: - array - 'null' items: $ref: '#/components/schemas/InjectionReading' alarms: type: - array - 'null' items: $ref: '#/components/schemas/Alarm' ticketId: type: - integer - 'null' format: int32 injectedCO2Kg: type: - number - 'null' format: float isReconstructed: type: boolean additionalProperties: false SortOrder: enum: - Ascending - Descending type: string AlarmSeverity: enum: - Low - Medium - High type: string ReadyMixUnitArgs: type: object properties: remoteUnitId: type: integer format: int32 label: type: - string - 'null' additionalProperties: false Alarm: type: object properties: alarmId: type: integer format: int64 code: type: integer format: int32 alarmCodeDetailsId: type: - integer - 'null' format: int32 alarmCodeDetails: $ref: '#/components/schemas/MixerAlarmCodeDetails' readyMixUnitId: type: integer format: int32 injectionId: type: - integer - 'null' format: int64 timestamp: type: string format: date-time resolvedTimestamp: type: - string - 'null' format: date-time resolved: type: boolean readOnly: true additionalProperties: false InjectionReadingTableResults: type: object properties: count: type: integer format: int32 results: type: - array - 'null' items: $ref: '#/components/schemas/InjectionReading' additionalProperties: false InjectionReading: type: object properties: injectionReadingId: type: integer format: int64 readyMixUnitId: type: integer format: int32 injectionId: type: - integer - 'null' format: int64 timestamp: type: string format: date-time createdTimestamp: type: - string - 'null' format: date-time inletLiquidPressureKPa: type: - number - 'null' format: float inletGasPressureKPa: type: - number - 'null' format: float upstreamPressureKPa: type: - number - 'null' format: float downstreamPressure0KPa: type: - number - 'null' format: float downstreamPressure1KPa: type: - number - 'null' format: float downstreamPressure2KPa: type: - number - 'null' format: float upstreamTemperatureC: type: - number - 'null' format: float flowRateKgPerSec: type: - number - 'null' format: float injectedCO2Kg: type: number format: float liquidValveOpen: type: - boolean - 'null' gasValveOpen: type: - boolean - 'null' equation1: type: - boolean - 'null' equation2: type: - boolean - 'null' equation3: type: - boolean - '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: {}