openapi: 3.2.0 info: title: Kelowna Production myCC - Onboarding API version: v1 tags: - name: myCC - Onboarding paths: /Accounts/{accountId}/Onboarding: get: tags: - myCC - Onboarding summary: Gets the onboarding details for the account's plants parameters: - name: accountId in: path description: The ID of the myCC account required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/OnboardingResponse' application/json: schema: $ref: '#/components/schemas/OnboardingResponse' text/json: schema: $ref: '#/components/schemas/OnboardingResponse' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdOnboarding x-operation-id-source: derived post: tags: - myCC - Onboarding summary: Updates the onboarding details for the account's plants parameters: - name: accountId in: path description: The ID of the myCC account required: true schema: type: integer format: int32 requestBody: description: The updated details to save content: application/json: schema: type: array items: $ref: '#/components/schemas/OnboardingPlantArgs' text/json: schema: type: array items: $ref: '#/components/schemas/OnboardingPlantArgs' application/*+json: schema: type: array items: $ref: '#/components/schemas/OnboardingPlantArgs' responses: '200': description: OK security: - {} - MyCCAuth: - applicationId - roles - {} operationId: postAccountsByAccountIdOnboarding x-operation-id-source: derived /Accounts/{accountId}/Onboarding/AccountTasks: get: tags: - myCC - Onboarding summary: Gets a list of account tasks and their completion state for the myCC account description: 'If the account doesn''t have any tasks for it in the db, this endpoint will add available tasks to the account''s tasks.' parameters: - name: accountId in: path description: MyCC account ID required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/MyCCAccountTaskResponse' application/json: schema: type: array items: $ref: '#/components/schemas/MyCCAccountTaskResponse' text/json: schema: type: array items: $ref: '#/components/schemas/MyCCAccountTaskResponse' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdOnboardingAccountTasks x-operation-id-source: derived post: tags: - myCC - Onboarding summary: Updates the completion state of a task for a myCC account description: 'This is intended to be called after GET /Accounts/{accountId}/Onboarding/AccountTasks, which populates the tasks in the database (if necessary) for the myCC account.' parameters: - name: accountId in: path description: MyCC account ID> required: true schema: type: integer format: int32 - name: taskType in: query description: The type of task that should be updated schema: $ref: '#/components/schemas/MyCCAccountTaskType' - name: isCompleted in: query description: The new value of the task schema: type: boolean responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/MyCCAccountTaskResponse' application/json: schema: $ref: '#/components/schemas/MyCCAccountTaskResponse' text/json: schema: $ref: '#/components/schemas/MyCCAccountTaskResponse' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: postAccountsByAccountIdOnboardingAccountTasks x-operation-id-source: derived /Accounts/{accountId}/Onboarding/StaffTasks: get: tags: - myCC - Onboarding summary: Gets a list of staff tasks from sales force description: 'When a plant has more than one installation lane, only the tasks associated with the lane marked as #1 in the installation order are returned. If the first installation lane has not yet been defined, an empty list is returned.' parameters: - name: accountId in: path required: true schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/StaffTask' application/json: schema: type: array items: $ref: '#/components/schemas/StaffTask' text/json: schema: type: array items: $ref: '#/components/schemas/StaffTask' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdOnboardingStaffTasks x-operation-id-source: derived /Accounts/{accountId}/Onboarding/BusinessRegistration: post: tags: - myCC - Onboarding summary: Uploads the attached business registration file to S3 and emails it to our… parameters: - name: accountId in: path description: MyCC account ID. required: true schema: type: integer format: int32 requestBody: content: multipart/form-data: schema: required: - file type: object properties: file: type: string description: File containing business registration info. format: binary encoding: file: style: form responses: '200': description: OK security: - {} - MyCCAuth: - applicationId - roles - {} operationId: postAccountsByAccountIdOnboardingBusinessRegistration x-operation-id-source: derived components: schemas: MyCCAccountTaskResponse: type: object properties: taskType: $ref: '#/components/schemas/MyCCAccountTaskType' isCompleted: type: boolean additionalProperties: false StaffTask: type: object properties: taskType: $ref: '#/components/schemas/StaffTaskType' isCompleted: type: boolean additionalProperties: false StaffTaskType: enum: - ScheduleTankInstall - ScheduleInstallCall - ScheduleQCCall - ScheduleDigitalIntegrationCall - ShipCcSystem - InstallCcSystem - CreateAndReviewTestingPlan - SetImplementationTestingDates - ScheduleGoToMarketCall - ObtainCO2Sources type: string OnboardingPlantArgs: type: object properties: remoteUnitId: type: integer format: int32 name: type: - string - 'null' isImperial: type: boolean annualPlantVolume: type: - number - 'null' format: double residentialPercent: type: - number - 'null' format: double commercialPercent: type: - number - 'null' format: double publicSectorPercent: type: - number - 'null' format: double annualCctVolumeTarget: type: - number - 'null' format: double monthlyCctProductionGoal: type: - number - 'null' format: double isHistoricalDataAvailable: type: - string - 'null' isVolumeBreakdownAvailable: type: - string - 'null' qcFieldLabTechCount: type: - number - 'null' format: double hasBreakMachine: type: - string - 'null' mixerType: type: - string - 'null' avgDischargeTimeSeconds: type: - number - 'null' format: double batchingSoftware: type: - string - 'null' wasBusinessRegistrationNumberSent: type: - string - 'null' co2Supplier: type: - string - 'null' carbonCreditStatus: type: - string - 'null' epdStatus: type: - string - 'null' notes: type: - string - 'null' isCementSupplyConsistent: type: - boolean - 'null' cementSources: type: - array - 'null' items: $ref: '#/components/schemas/CementSource' uniqueInstallCriteria: type: - string - 'null' plantInstallOrder: type: - integer - 'null' format: int32 preliminaryInstallDate: type: - string - 'null' format: date additionalProperties: false EnumValue: type: object properties: label: type: - string - 'null' value: type: - string - 'null' additionalProperties: false OnboardingResponse: type: object properties: plants: type: - array - 'null' items: $ref: '#/components/schemas/OnboardingPlantArgs' enums: $ref: '#/components/schemas/PlantOnboardingEnums' additionalProperties: false MyCCAccountTaskType: enum: - SendMixPortifolio - InitiateCO2SupplierMeeting - SignCO2SupplyAgreement - ProvideCementMillCert - SendBusinessRegistrationNumber - ProvideHistoricalMixData - ProvideMixNaming - CompleteMaterialSources - ImplementBatchingDataTransfer - CompletePreInstallQuestions - ConfirmCO2Install - SendBaselineQCData - SendTestResults - LynxDownloadTask - AttestationRequest type: string PlantOnboardingEnums: type: object properties: isHistoricalDataAvailable: type: - array - 'null' items: $ref: '#/components/schemas/EnumValue' isVolumeBreakdownAvailable: type: - array - 'null' items: $ref: '#/components/schemas/EnumValue' hasBreakMachine: type: - array - 'null' items: $ref: '#/components/schemas/EnumValue' mixerType: type: - array - 'null' items: $ref: '#/components/schemas/EnumValue' batchingSoftware: type: - array - 'null' items: $ref: '#/components/schemas/EnumValue' wasBusinessRegistrationNumberSent: type: - array - 'null' items: $ref: '#/components/schemas/EnumValue' co2Supplier: type: - array - 'null' items: $ref: '#/components/schemas/EnumValue' carbonCreditStatus: type: - array - 'null' items: $ref: '#/components/schemas/EnumValue' epdStatus: type: - array - 'null' items: $ref: '#/components/schemas/EnumValue' uniqueInstallCriteria: type: - array - 'null' items: $ref: '#/components/schemas/EnumValue' additionalProperties: false CementSource: type: object properties: cementPlantId: type: - integer - 'null' format: int32 plantName: type: - string - 'null' cementType: 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: {}