openapi: 3.2.0 info: title: Kelowna Production Mixer Data API version: v1 tags: - name: MixerData paths: /Hardware/MixerData/HmiAlarm: post: tags: - MixerData summary: Creates alarms based on hmi issued error messages requestBody: content: application/json: schema: $ref: '#/components/schemas/HmiIssuedErrorPayload' text/json: schema: $ref: '#/components/schemas/HmiIssuedErrorPayload' application/*+json: schema: $ref: '#/components/schemas/HmiIssuedErrorPayload' responses: '200': description: OK security: - {} - {} - M2MAuth: - applicationId - roles operationId: postHardwareMixerDataHmiAlarm x-operation-id-source: derived /Hardware/MixerData/HmiDataTransferAlarm: post: tags: - MixerData summary: Creates alarms based on data transfer issues from an HMI requestBody: content: application/json: schema: $ref: '#/components/schemas/HmiDataTransferAlarmPayload' text/json: schema: $ref: '#/components/schemas/HmiDataTransferAlarmPayload' application/*+json: schema: $ref: '#/components/schemas/HmiDataTransferAlarmPayload' responses: '200': description: OK security: - {} - {} - M2MAuth: - applicationId - roles operationId: postHardwareMixerDataHmiDataTransferAlarm x-operation-id-source: derived /Hardware/MixerData/Injections: post: tags: - MixerData summary: Adds injection to the database requestBody: content: application/json: schema: $ref: '#/components/schemas/InjectionBody' text/json: schema: $ref: '#/components/schemas/InjectionBody' application/*+json: schema: $ref: '#/components/schemas/InjectionBody' responses: '200': description: OK security: - {} - {} - M2MAuth: - applicationId - roles operationId: postHardwareMixerDataInjections x-operation-id-source: derived /Hardware/MixerData/InjectionReadings: post: tags: - MixerData summary: Adds injection readings to an injection in the database requestBody: content: application/json: schema: $ref: '#/components/schemas/InjectionReadingBody' text/json: schema: $ref: '#/components/schemas/InjectionReadingBody' application/*+json: schema: $ref: '#/components/schemas/InjectionReadingBody' responses: '200': description: OK security: - {} - {} - M2MAuth: - applicationId - roles operationId: postHardwareMixerDataInjectionReadings x-operation-id-source: derived /Hardware/MixerData/Statuses: post: tags: - MixerData summary: Adds statuses to the database requestBody: content: application/json: schema: $ref: '#/components/schemas/StatusBody' text/json: schema: $ref: '#/components/schemas/StatusBody' application/*+json: schema: $ref: '#/components/schemas/StatusBody' responses: '200': description: OK security: - {} - {} - M2MAuth: - applicationId - roles operationId: postHardwareMixerDataStatuses x-operation-id-source: derived /Hardware/MixerData/NetworkStatuses: post: tags: - MixerData summary: Adds a CSV of ping results to the database requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary encoding: file: style: form responses: '200': description: OK security: - {} - {} - M2MAuth: - applicationId - roles operationId: postHardwareMixerDataNetworkStatuses x-operation-id-source: derived components: schemas: MixerStatus: type: object properties: timestamp: type: string format: date-time inletLiquidPressurePsi: type: - number - 'null' format: double inletGasPressurePsi: type: - number - 'null' format: double temperatureC: type: - number - 'null' format: double additionalProperties: false HmiDataTransferAlarmCode: enum: - AlarmFileCorrupted - AlarmFileInvalidHeader - AlarmFileFormatMismatch - AlarmFileInvalidData - AlarmFileHmiIdMismatch - AlarmFileHmiIdMissing - InjectionFileCorrupted - InjectionFileInvalidHeader - InjectionFileFormatMismatch - InjectionFileInvalidData - InjectionFileHmiIdMismatch - InjectionFileHmiIdMissing - InletPressureFileInvalidHeader - InletPressureFileCorrupted - InletPressureFileFormatMismatch - InletPressureFileInvalidData - InletPressureFileMissingTimestamp - InletPressureFileHmiIdMismatch - InletPressureFileHmiIdMissing - MixerManifoldFileCorrupted - MixerManifoldFileInvalidHeader - MixerManifoldFileFormatMismatch - MixerManifoldFileInvalidData - MixerManifoldFileHmiIdMismatch - MixerManifoldFileHmiIdMissing type: string HmiIssuedErrorPayload: type: object properties: hmiId: type: integer format: int32 errors: type: - array - 'null' items: $ref: '#/components/schemas/HmiIssuedError' additionalProperties: false MixerInjectionReading: type: object properties: timestamp: type: string format: date-time temperatureC: type: - number - 'null' format: double flowRateKgPerSec: type: - number - 'null' format: double upstreamPressurePsi: type: - number - 'null' format: double downstreamPressure0Psi: type: - number - 'null' format: double downstreamPressure1Psi: type: - number - 'null' format: double downstreamPressure2Psi: type: - number - 'null' format: double inletLiquidPressurePsi: type: - number - 'null' format: double inletGasPressurePsi: type: - number - 'null' format: double injectedCO2Kg: type: - number - 'null' format: double liquidValveOpen: type: - boolean - 'null' gasValveOpen: type: - boolean - 'null' equation1: type: - boolean - 'null' equation2: type: - boolean - 'null' equation3: type: - boolean - 'null' additionalProperties: false StatusBody: type: object properties: hmiId: type: integer format: int32 statuses: type: - array - 'null' items: $ref: '#/components/schemas/MixerStatus' additionalProperties: false HmiIssuedError: type: object properties: message: type: - string - 'null' timestamp: type: string format: date-time additionalProperties: false HmiDataTransferAlarmPayload: type: object properties: hmiId: type: integer format: int32 errorCode: $ref: '#/components/schemas/HmiDataTransferAlarmCode' additionalProperties: false MixerInjection: type: object properties: timestamp: type: string format: date-time mixTimeSeconds: type: integer format: int32 injectedCO2Kg: type: - number - 'null' format: double additionalProperties: false InjectionBody: type: object properties: hmiId: type: integer format: int32 injections: type: - array - 'null' items: $ref: '#/components/schemas/MixerInjection' additionalProperties: false InjectionReadingBody: type: object properties: hmiId: type: integer format: int32 injectionReadings: type: - array - 'null' items: $ref: '#/components/schemas/MixerInjectionReading' 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: {}