openapi: 3.2.0 info: title: Kelowna Production Krill API version: v1 tags: - name: Krill paths: /Krill/Configs: get: tags: - Krill summary: Gets the list of Krill configs to render description: Each config represents one tab in the Krill interface, complete with a table and filters responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/KrillConfig' application/json: schema: type: array items: $ref: '#/components/schemas/KrillConfig' text/json: schema: type: array items: $ref: '#/components/schemas/KrillConfig' security: - OrcaAuth: - applicationId - roles - {} - {} operationId: getKrillConfigs x-operation-id-source: derived /Krill/MixStrengths: get: tags: - Krill parameters: - name: Division in: query schema: type: string - name: StartDate in: query schema: type: string format: date - name: EndDate in: query schema: type: string format: date - name: MissingInfo in: query schema: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/MixStrengthsRow' application/json: schema: type: array items: $ref: '#/components/schemas/MixStrengthsRow' text/json: schema: type: array items: $ref: '#/components/schemas/MixStrengthsRow' security: - OrcaAuth: - applicationId - roles - {} - {} summary: Get krill mix strengths x-summary-source: derived operationId: getKrillMixStrengths x-operation-id-source: derived post: tags: - Krill parameters: - name: isMetric in: query schema: type: boolean requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/MixStrengthsRow' text/json: schema: type: array items: $ref: '#/components/schemas/MixStrengthsRow' application/*+json: schema: type: array items: $ref: '#/components/schemas/MixStrengthsRow' responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} summary: Create krill mix strengths x-summary-source: derived operationId: postKrillMixStrengths x-operation-id-source: derived /Krill/CreditSales: get: tags: - Krill parameters: - name: MissingDetailsOnly in: query schema: type: boolean responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/CreditSaleRow' application/json: schema: type: array items: $ref: '#/components/schemas/CreditSaleRow' text/json: schema: type: array items: $ref: '#/components/schemas/CreditSaleRow' security: - OrcaAuth: - applicationId - roles - {} - {} summary: Get krill credit sales x-summary-source: derived operationId: getKrillCreditSales x-operation-id-source: derived post: tags: - Krill requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/CreditSaleRow' text/json: schema: type: array items: $ref: '#/components/schemas/CreditSaleRow' application/*+json: schema: type: array items: $ref: '#/components/schemas/CreditSaleRow' responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} summary: Create krill credit sales x-summary-source: derived operationId: postKrillCreditSales x-operation-id-source: derived /Krill/CustomerFeedback: get: tags: - Krill parameters: - name: Quarter in: query schema: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/CustomerFeedbackRow' application/json: schema: type: array items: $ref: '#/components/schemas/CustomerFeedbackRow' text/json: schema: type: array items: $ref: '#/components/schemas/CustomerFeedbackRow' security: - OrcaAuth: - applicationId - roles - {} - {} summary: Get krill customer feedback x-summary-source: derived operationId: getKrillCustomerFeedback x-operation-id-source: derived post: tags: - Krill requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/CustomerFeedbackRow' text/json: schema: type: array items: $ref: '#/components/schemas/CustomerFeedbackRow' application/*+json: schema: type: array items: $ref: '#/components/schemas/CustomerFeedbackRow' responses: '200': description: OK security: - OrcaAuth: - applicationId - roles - {} - {} summary: Create krill customer feedback x-summary-source: derived operationId: postKrillCustomerFeedback x-operation-id-source: derived components: schemas: MixStrengthsRow: type: object properties: divisionId: type: integer format: int32 division: type: - string - 'null' mixCode: type: - string - 'null' condition: type: - string - 'null' volumeM3: type: number format: double volumeYd3: type: number format: double volumePortion: type: number format: double strengthMpa: type: - number - 'null' format: double strengthPsi: type: - number - 'null' format: double addressableStatus: type: - string - 'null' blockers: type: - string - 'null' notes: type: - string - 'null' cementKgPerM3: type: - integer - 'null' format: int32 cementLbPerYd3: type: - integer - 'null' format: int32 minCementKgPerM3: type: - integer - 'null' format: int32 minCementLbPerYd3: type: - integer - 'null' format: int32 maxCementKgPerM3: type: - integer - 'null' format: int32 maxCementLbPerYd3: type: - integer - 'null' format: int32 scmKgPerM3: type: - integer - 'null' format: int32 scmLbPerYd3: type: - integer - 'null' format: int32 scmPortion: type: - number - 'null' format: double cO2KgPerM3: type: - number - 'null' format: double cO2LbPerYd3: type: - number - 'null' format: double cO2Dose: type: - number - 'null' format: double additionalProperties: false KrillConfig: type: object properties: tabId: type: - string - 'null' title: type: - string - 'null' description: type: - string - 'null' permission: type: - string - 'null' getEndpoint: type: - string - 'null' postEndpoint: type: - string - 'null' canAddRows: type: boolean needsUnitsToggle: type: boolean columns: type: - array - 'null' items: $ref: '#/components/schemas/KrillColumn' filters: type: - array - 'null' items: $ref: '#/components/schemas/KrillFilter' additionalProperties: false UnitSystem: enum: - Metric - Imperial type: string KrillColumn: type: object properties: columnId: type: - string - 'null' name: type: - string - 'null' type: $ref: '#/components/schemas/KrillType' dropdownValues: type: - array - 'null' items: type: string minValue: type: - number - 'null' format: double maxValue: type: - number - 'null' format: double isInclusive: type: boolean units: $ref: '#/components/schemas/UnitSystem' isHidden: type: boolean isLocked: type: boolean description: Locked columns may not be edited in the frontend. isRequired: type: boolean disableColumnFilter: type: boolean additionalProperties: false CreditSaleRow: type: object properties: saleId: type: integer format: int32 buyer: type: - string - 'null' dateOfSale: type: - string - 'null' format: date corporationId: type: integer format: int32 corporationName: type: - string - 'null' divisionId: type: - integer - 'null' format: int32 divisionName: type: - string - 'null' numberOfCredits: type: integer format: int32 pricePerCreditUsd: type: - number - 'null' format: double totalSaleValueUsd: type: - number - 'null' format: double netValueUsd: type: - number - 'null' format: double applicableCostPoolUsd: type: - number - 'null' format: double applicableRevenueSharePercent: type: - number - 'null' format: double prepaymentsUsd: type: - number - 'null' format: double paymentDate: type: - string - 'null' format: date additionalProperties: false KrillType: enum: - String - Int - Float - Date - Bool - Percentage type: string CustomerFeedbackRow: type: object properties: divisionId: type: integer format: int32 divisionName: type: - string - 'null' region: type: - string - 'null' quarterDate: type: string format: date quarterStr: type: - string - 'null' churnScore: type: - number - 'null' format: double concerns: type: - string - 'null' meetingCadence: type: - string - 'null' sentiments: type: - string - 'null' lastUpdatedDate: type: - string - 'null' format: date lastUpdater: type: - string - 'null' additionalProperties: false KrillFilter: type: object properties: filterId: type: - string - 'null' name: type: - string - 'null' type: $ref: '#/components/schemas/KrillType' isRequired: type: boolean defaultValue: type: - string - 'null' dropdownValues: 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: {}