openapi: 3.2.0 info: title: Kelowna Production myCC - MyData API version: v1 tags: - name: myCC - MyData paths: /Accounts/{accountId}/MyData/SourcesTable: get: tags: - myCC - MyData summary: Gets a table of material sources for all of myCC account's plants parameters: - name: accountId in: path description: The account who's material sources will be returned. 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: searchKey in: query description: Optional search filter for all returned string values schema: type: string - name: plantId in: query description: Optionally restrict material sources to a single plant. schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/MyDataMaterialSourcesTableTableResults' application/json: schema: $ref: '#/components/schemas/MyDataMaterialSourcesTableTableResults' text/json: schema: $ref: '#/components/schemas/MyDataMaterialSourcesTableTableResults' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdMyDataSourcesTable x-operation-id-source: derived /Accounts/{accountId}/MyData/Qc/Table: get: tags: - myCC - MyData summary: Gets a table of qc data per mix design for the given myCC account parameters: - name: accountId in: path description: The account who's material sources will be returned. 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: searchKey in: query description: Optional search filter for all returned values schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/MyDataQcTableTableResults' application/json: schema: $ref: '#/components/schemas/MyDataQcTableTableResults' text/json: schema: $ref: '#/components/schemas/MyDataQcTableTableResults' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdMyDataQcTable x-operation-id-source: derived /Accounts/{accountId}/MyData/Qc/BulkUpload: post: tags: - myCC - MyData summary: Bulk uploads QC data files parameters: - name: accountId in: path description: MyCC account Id for the QC data belongs to required: true schema: type: integer format: int32 requestBody: content: multipart/form-data: schema: required: - files type: object properties: files: type: array items: type: string format: binary description: QC data files to upload encoding: files: style: form responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/UploadLog' application/json: schema: type: array items: $ref: '#/components/schemas/UploadLog' text/json: schema: type: array items: $ref: '#/components/schemas/UploadLog' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: postAccountsByAccountIdMyDataQcBulkUpload x-operation-id-source: derived /Accounts/{accountId}/MyData/Qc/MetaData: post: tags: - myCC - MyData summary: Sets/Updates the meta data associated with a QC file upload parameters: - name: accountId in: path description: MyCC account Id for the QC data belongs to required: true schema: type: integer format: int32 requestBody: description: QC meta data for the QC data upload(s) content: application/json: schema: type: array items: $ref: '#/components/schemas/QCFileMetaDataArgs' text/json: schema: type: array items: $ref: '#/components/schemas/QCFileMetaDataArgs' application/*+json: schema: type: array items: $ref: '#/components/schemas/QCFileMetaDataArgs' responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/UploadLog' application/json: schema: type: array items: $ref: '#/components/schemas/UploadLog' text/json: schema: type: array items: $ref: '#/components/schemas/UploadLog' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: postAccountsByAccountIdMyDataQcMetaData x-operation-id-source: derived /Accounts/{accountId}/MyData/Qc/PendingData: get: tags: - myCC - MyData summary: Gets a list of QC data files uploaded that are still pending ingestion parameters: - name: accountId in: path description: Id of the myCC account 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' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/QcDataPendingApprovalTableTableResults' application/json: schema: $ref: '#/components/schemas/QcDataPendingApprovalTableTableResults' text/json: schema: $ref: '#/components/schemas/QcDataPendingApprovalTableTableResults' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdMyDataQcPendingData x-operation-id-source: derived /Accounts/{accountId}/MyData/MaterialSources/{plantId}: post: tags: - myCC - MyData summary: Updates a plant's material sources parameters: - name: accountId in: path description: The account to update. required: true schema: type: integer format: int32 - name: plantId in: path description: Id of the target plant. required: true schema: type: integer format: int32 requestBody: description: New material sources for the plant. content: application/json: schema: $ref: '#/components/schemas/MyDataMaterialSourceArgs' text/json: schema: $ref: '#/components/schemas/MyDataMaterialSourceArgs' application/*+json: schema: $ref: '#/components/schemas/MyDataMaterialSourceArgs' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/MyDataMaterialSourcesTable' application/json: schema: $ref: '#/components/schemas/MyDataMaterialSourcesTable' text/json: schema: $ref: '#/components/schemas/MyDataMaterialSourcesTable' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: postAccountsByAccountIdMyDataMaterialSourcesByPlantId x-operation-id-source: derived /Accounts/{accountId}/MyData/BatchingData/LatestIngestion: get: tags: - myCC - MyData summary: Gets the timestamp of the latest ingestion of batching data description: Returns 204 status code if there is no ingestion data available parameters: - name: accountId in: path description: MyCC account Id required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/LatestIngestionInfo' application/json: schema: $ref: '#/components/schemas/LatestIngestionInfo' text/json: schema: $ref: '#/components/schemas/LatestIngestionInfo' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdMyDataBatchingDataLatestIngestion x-operation-id-source: derived /Accounts/{accountId}/MyData/BatchingData/LynxBatchingTable: get: tags: - myCC - MyData summary: Gets a table of lynx batching file uploads parameters: - name: accountId in: path description: The account to get lynx batching file uploads for. 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: searchKey in: query description: Search key that filters table results. schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/LynxBatchingTableTableResults' application/json: schema: $ref: '#/components/schemas/LynxBatchingTableTableResults' text/json: schema: $ref: '#/components/schemas/LynxBatchingTableTableResults' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdMyDataBatchingDataLynxBatchingTable x-operation-id-source: derived /Accounts/{accountId}/MyData/QcData/AdditionalTestingRequest: post: tags: - myCC - MyData summary: Sends additional testing email to SAM parameters: - name: accountId in: path description: The account for the which the support request is being sent. required: true schema: type: integer format: int32 requestBody: description: Argument with the support request information for SAM. content: application/json: schema: $ref: '#/components/schemas/SamAdditionalTestingEmailArgs' text/json: schema: $ref: '#/components/schemas/SamAdditionalTestingEmailArgs' application/*+json: schema: $ref: '#/components/schemas/SamAdditionalTestingEmailArgs' responses: '200': description: OK security: - {} - MyCCAuth: - applicationId - roles - {} operationId: postAccountsByAccountIdMyDataQcDataAdditionalTestingRequest x-operation-id-source: derived /Accounts/{accountId}/MyData/Lynx: get: tags: - myCC - MyData summary: Creates an installation package for lynx parameters: - name: accountId in: path description: ID of the myCC account required: true schema: type: integer format: int32 - name: plantId in: query description: ID of the plant schema: type: integer format: int32 responses: '200': description: OK security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdMyDataLynx x-operation-id-source: derived /Accounts/{accountId}/MyData/Lynx/PlantStatus: get: tags: - myCC - MyData summary: Gets the lynx eligibility status for an account's plants with pagination parameters: - name: accountId in: path description: Id of the myCC account required: true schema: type: integer format: int32 - name: Limit in: query schema: type: integer format: int32 - name: Offset in: query schema: type: integer format: int32 - name: SortColumn in: query schema: type: string - name: IdColumn in: query schema: type: string - name: SortOrder in: query schema: $ref: '#/components/schemas/SortOrder' - name: searchKey in: query description: Search key filter (optional) schema: type: string - name: useLegacyStatuses in: query description: Optional flag to enable newer labels (defaults to true - legacy labels only) schema: type: boolean default: true responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/PlantLynxStatusTableResults' application/json: schema: $ref: '#/components/schemas/PlantLynxStatusTableResults' text/json: schema: $ref: '#/components/schemas/PlantLynxStatusTableResults' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdMyDataLynxPlantStatus x-operation-id-source: derived /Accounts/{accountId}/MyData/Batching/BulkUpload: post: tags: - myCC - MyData summary: Bulk uploads batching data files parameters: - name: accountId in: path description: MyCC account ID to upload batching files to required: true schema: type: integer format: int32 requestBody: content: multipart/form-data: schema: type: object properties: Files: type: array items: type: string format: binary Notes: type: array items: type: string encoding: Files: style: form Notes: style: form responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/UploadLog' application/json: schema: type: array items: $ref: '#/components/schemas/UploadLog' text/json: schema: type: array items: $ref: '#/components/schemas/UploadLog' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: postAccountsByAccountIdMyDataBatchingBulkUpload x-operation-id-source: derived components: schemas: MyDataMaterialSourceArgs: type: object properties: providedCO2SupplierName: type: - string - 'null' effectiveDate: type: string format: date-time cementSources: type: - array - 'null' items: $ref: '#/components/schemas/MyDataCementSource' additionalProperties: false DataIntegrationType: enum: - Customer - Lynx - Connex - WebCrete - Marcotte - Jonel - CustomIntegration type: string AssistanceRequestType: enum: - 'Yes' - 'No' - MoreInformation type: string PlantLynxStatusTableResults: type: object properties: count: type: integer format: int32 results: type: - array - 'null' items: $ref: '#/components/schemas/PlantLynxStatus' additionalProperties: false LynxIngestionStatus: enum: - Successful - Error type: string LynxStatus: enum: - Error - Eligible - Downloaded - Installed - NotEligible type: string description: Represents a plant's current status in regards to Lynx. PlantLynxStatus: type: object properties: plantId: type: integer format: int32 plantName: type: - string - 'null' batchingSoftware: type: - string - 'null' status: $ref: '#/components/schemas/LynxStatus' lynxDownloadedTimestamp: type: - string - 'null' format: date-time additionalProperties: false LynxBatchingTableTableResults: type: object properties: count: type: integer format: int32 results: type: - array - 'null' items: $ref: '#/components/schemas/LynxBatchingTable' additionalProperties: false UploadLog: required: - fileName - uploadType type: object properties: uploadLogId: type: integer format: int32 fileName: minLength: 1 type: string uploadType: $ref: '#/components/schemas/UploadType' uploader: type: - string - 'null' userId: type: - integer - 'null' format: int32 corporationId: type: - integer - 'null' format: int32 divisionId: type: - integer - 'null' format: int32 uploadTimestamp: type: string format: date-time ingestionError: type: - string - 'null' dataStart: type: - string - 'null' format: date-time dataEnd: type: - string - 'null' format: date-time notes: type: - string - 'null' mixCodes: type: - array - 'null' items: type: string additionalProperties: false MyDataMaterialSourcesTable: type: object properties: plantId: type: integer format: int32 plantName: type: - string - 'null' cO2SupplierName: type: - string - 'null' cementSources: type: - array - 'null' items: $ref: '#/components/schemas/MyDataCementSource' additionalProperties: false LynxBatchingTable: type: object properties: plantId: type: integer format: int32 plantName: type: - string - 'null' lastUploadTimestamp: type: string format: date-time nextUploadTimestamp: type: - string - 'null' format: date-time source: type: - string - 'null' status: $ref: '#/components/schemas/LynxIngestionStatus' additionalProperties: false QcDataPendingApprovalTableTableResults: type: object properties: count: type: integer format: int32 results: type: - array - 'null' items: $ref: '#/components/schemas/QcDataPendingApprovalTable' additionalProperties: false MyDataQcTable: type: object properties: mixDesignId: type: integer format: int32 mixCode: type: - string - 'null' concreteVolumeM3: type: - number - 'null' format: double sampleCount: type: integer format: int32 baselineSampleCount: type: integer format: int32 status: type: - string - 'null' additionalProperties: false UploadType: enum: - Batching - Qc - Calorimetry type: string LatestIngestionInfo: type: object properties: timestamp: type: string format: date-time dataIntegrationType: $ref: '#/components/schemas/DataIntegrationType' isSuccessful: type: boolean plantsWithErrors: type: - array - 'null' items: type: string additionalProperties: false MyDataMaterialSourcesTableTableResults: type: object properties: count: type: integer format: int32 results: type: - array - 'null' items: $ref: '#/components/schemas/MyDataMaterialSourcesTable' additionalProperties: false MyDataCementSource: type: object properties: cementPlantId: type: integer format: int32 cementPlantName: type: - string - 'null' cementName: type: - string - 'null' cementType: $ref: '#/components/schemas/CementType' cementPercentage: type: number format: double additionalProperties: false MyDataQcTableTableResults: type: object properties: count: type: integer format: int32 results: type: - array - 'null' items: $ref: '#/components/schemas/MyDataQcTable' additionalProperties: false SortOrder: enum: - Ascending - Descending type: string CementType: enum: - CementTypeI - CementTypeIS - CementTypeIP - CementTypeIL - CementTypeII - CementTypeI_II - CementTypeI_IIMH - CementTypeI_II_LA - CementTypeIII - CementTypeIV - CementTypeII_V - CementTypeN - CementTypeS - CementCemI - CementCemII - CementCemIII - CementCemIV - CementCemV - CementCemVI - CementBlendedHydraulic type: string QcDataPendingApprovalTable: type: object properties: uploadLogId: type: integer format: int32 mixCodes: type: - array - 'null' items: type: string fileName: type: - string - 'null' submissionDate: type: string format: date-time userId: type: - integer - 'null' format: int32 userFullName: type: - string - 'null' additionalProperties: false SamAdditionalTestingEmailArgs: type: object properties: mixCodes: type: - array - 'null' items: type: string plantId: type: integer format: int32 assistanceRequestType: $ref: '#/components/schemas/AssistanceRequestType' additionalProperties: false QCFileMetaDataArgs: type: object properties: uploadLogId: type: integer format: int32 notes: type: - string - 'null' mixCodes: type: - array - 'null' items: type: string 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: {}