openapi: 3.2.0 info: title: Kelowna Production myCC - Estimates API version: v1 tags: - name: myCC - Estimates paths: /Accounts/{accountId}/Estimates: get: tags: - myCC - Estimates summary: Gets the estimates for a myCC account parameters: - name: accountId in: path description: The ID of the user's myCC account required: true schema: type: integer format: int32 - name: estimateId in: query description: The ID of the estimate to retrieve. Used for bookmarking on frontend. schema: type: integer format: int32 - name: searchKey in: query description: Search key (optional) schema: type: string - 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/EstimateArgsTableResults' application/json: schema: $ref: '#/components/schemas/EstimateArgsTableResults' text/json: schema: $ref: '#/components/schemas/EstimateArgsTableResults' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdEstimates x-operation-id-source: derived post: tags: - myCC - Estimates summary: Adds a new estimate parameters: - name: accountId in: path description: The ID of the user's myCC account required: true schema: type: integer format: int32 requestBody: description: The details of the estimate to add content: application/json: schema: $ref: '#/components/schemas/EstimateArgs' text/json: schema: $ref: '#/components/schemas/EstimateArgs' application/*+json: schema: $ref: '#/components/schemas/EstimateArgs' responses: '200': description: OK security: - {} - MyCCAuth: - applicationId - roles - {} operationId: postAccountsByAccountIdEstimates x-operation-id-source: derived /Accounts/{accountId}/Estimates/MixDesigns: get: tags: - myCC - Estimates summary: Gets a list of a the mix designs which are tied to a baseline description: Only includes mixes for which we know the baseline cement and the project cement 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: type: array items: $ref: '#/components/schemas/OldStyleMixDesignArgs' application/json: schema: type: array items: $ref: '#/components/schemas/OldStyleMixDesignArgs' text/json: schema: type: array items: $ref: '#/components/schemas/OldStyleMixDesignArgs' security: - {} - MyCCAuth: - applicationId - roles - {} operationId: getAccountsByAccountIdEstimatesMixDesigns x-operation-id-source: derived components: schemas: EstimateArgsTableResults: type: object properties: count: type: integer format: int32 results: type: - array - 'null' items: $ref: '#/components/schemas/EstimateArgs' additionalProperties: false EstimateQuantityArgs: type: object properties: before: type: - array - 'null' items: {} after: type: - array - 'null' items: {} additionalProperties: false EstimateMixInnerArgs: type: object properties: mixID: type: - string - 'null' mixName: type: - string - 'null' company: type: - string - 'null' designStrength: type: - array - 'null' items: {} portlandQuantity: $ref: '#/components/schemas/EstimateQuantityArgs' slagQuantity: $ref: '#/components/schemas/EstimateQuantityArgs' flyAshQuantity: $ref: '#/components/schemas/EstimateQuantityArgs' additionalProperties: false EstimateMixOuterArgs: type: object properties: id: type: - string - 'null' quantity: type: - array - 'null' items: {} mixDesign: $ref: '#/components/schemas/EstimateMixInnerArgs' additionalProperties: false SortOrder: enum: - Ascending - Descending type: string OldStyleMixDesignArgs: type: object properties: mixDesignId: type: - integer - 'null' format: int32 mixCode: type: - string - 'null' plantId: type: - integer - 'null' format: int32 plantName: type: - string - 'null' divisionId: type: - integer - 'null' format: int32 divisionName: type: - string - 'null' isImperial: type: - boolean - 'null' compressiveStrengthMPa: type: - number - 'null' format: double cementKgPerM3After: type: - number - 'null' format: double cementKgPerM3Before: type: - number - 'null' format: double slagKgPerM3After: type: - number - 'null' format: double slagKgPerM3Before: type: - number - 'null' format: double flyAshKgPerM3After: type: - number - 'null' format: double flyAshKgPerM3Before: type: - number - 'null' format: double additionalProperties: false EstimateArgs: type: object properties: myCCEstimateId: type: - integer - 'null' format: int32 company: type: - string - 'null' creator: type: - string - 'null' reportID: type: - string - 'null' date: type: string format: date-time projectName: type: - string - 'null' city: type: - string - 'null' state: type: - string - 'null' isMetric: type: - boolean - 'null' concreteVolume: type: - array - 'null' items: {} mixes: type: - array - 'null' items: $ref: '#/components/schemas/EstimateMixOuterArgs' 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: {}