Carboncuretechnologies Dorsal API

The Dorsal API from Carboncuretechnologies — 6 operation(s) for dorsal.

Operations 7

GET /Hardware/Dorsal/GraphData Retrieves graphs for Dorsal with downsampled data #
GET /Hardware/Dorsal/Table Returns raw, unsampled data from the specified tables combined into a single… #
GET /Hardware/Dorsal/Table/Download Downloads raw data from the specified tables, within selected time range, up to… #
GET /Hardware/Dorsal/SystemInfo/{readyMixUnitId} Fetches general info for a ready mix unit, along with the start and end time of… #
GET /Hardware/Dorsal/Connectivity/{readyMixUnitId} Fetches connectivity info for a ready mix unit - whether it's online or not… #
GET /Hardware/Dorsal/Watch/{readyMixUnitId} Checks whether the current user is "watching" a ready mix unit #
POST /Hardware/Dorsal/Watch/{readyMixUnitId} Updates whether the current user is "watching" a ready mix unit #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/carboncuretechnologies:carboncuretechnologies-dorsal-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

carboncuretechnologies-dorsal-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kelowna Production Dorsal API
  version: v1
tags:
- name: Dorsal
paths:
  /Hardware/Dorsal/GraphData:
    get:
      tags:
      - Dorsal
      summary: Retrieves graphs for Dorsal with downsampled data
      description: The data is downsampled into up to 500 buckets, and the averages are returned.
      parameters:
      - name: startTime
        in: query
        description: The start date and time.
        schema:
          type: string
          format: date-time
      - name: endTime
        in: query
        description: The end date and time.
        schema:
          type: string
          format: date-time
      - name: readyMixUnitId
        in: query
        description: ID of the RM unit to fetch telemetry data for.
        schema:
          type: integer
          format: int32
      - name: runConcurrently
        in: query
        description: If the queries should run concurrently. On by default, disabled only for testing.
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/DorsalGraphs'
            application/json:
              schema:
                $ref: '#/components/schemas/DorsalGraphs'
            text/json:
              schema:
                $ref: '#/components/schemas/DorsalGraphs'
      security:
      - OrcaAuth:
        - applicationId
        - roles
      - {}
      - {}
      operationId: getHardwareDorsalGraphData
      x-operation-id-source: derived
  /Hardware/Dorsal/Table:
    get:
      tags:
      - Dorsal
      summary: Returns raw, unsampled data from the specified tables combined into a single…
      parameters:
      - name: startTime
        in: query
        description: The start date and time.
        schema:
          type: string
          format: date-time
      - name: endTime
        in: query
        description: The end date and time.
        schema:
          type: string
          format: date-time
      - name: readyMixUnitId
        in: query
        description: ID of the RM unit to fetch telemetry data for.
        schema:
          type: integer
          format: int32
      - name: includeInjections
        in: query
        description: Include injection data.
        schema:
          type: boolean
          default: true
      - name: includeReadings
        in: query
        description: Include injection reading data. Referred to as "MMD Logs" in the UI.
        schema:
          type: boolean
          default: true
      - name: includeStatuses
        in: query
        description: Include status data. Referred to as "Inlet Logs" in the UI.
        schema:
          type: boolean
          default: true
      - name: includeAlarms
        in: query
        description: Include alarm data.
        schema:
          type: boolean
          default: true
      - name: limit
        in: query
        description: Maximum number of rows to return. If not specified, a maximum of 100,000 rows are returned.
        schema:
          type: integer
          format: int32
      - name: fromTime
        in: query
        description: Lastest timestamp from the previous response. Used for pagination.
        schema:
          type: string
          format: date-time
      - name: fromTable
        in: query
        description: Latest source table from the previous response. Used for pagination.
        schema:
          $ref: '#/components/schemas/TableRanking'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/DorsalTable'
            application/json:
              schema:
                $ref: '#/components/schemas/DorsalTable'
            text/json:
              schema:
                $ref: '#/components/schemas/DorsalTable'
      security:
      - OrcaAuth:
        - applicationId
        - roles
      - {}
      - {}
      operationId: getHardwareDorsalTable
      x-operation-id-source: derived
  /Hardware/Dorsal/Table/Download:
    get:
      tags:
      - Dorsal
      summary: Downloads raw data from the specified tables, within selected time range, up to…
      parameters:
      - name: startTime
        in: query
        description: The start date and time.
        schema:
          type: string
          format: date-time
      - name: endTime
        in: query
        description: The end date and time.
        schema:
          type: string
          format: date-time
      - name: readyMixUnitId
        in: query
        description: ID of the RM unit to fetch telemetry data for.
        schema:
          type: integer
          format: int32
      - name: includeInjections
        in: query
        description: Include injection data.
        schema:
          type: boolean
          default: true
      - name: includeReadings
        in: query
        description: Include injection reading data. Referred to as "MMD Logs" in the UI.
        schema:
          type: boolean
          default: true
      - name: includeAlarms
        in: query
        description: Include alarm data.
        schema:
          type: boolean
          default: true
      - name: includeStatuses
        in: query
        description: Include status data. Referred to as "Inlet Logs" in the UI.
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: OK
      security:
      - OrcaAuth:
        - applicationId
        - roles
      - {}
      - {}
      operationId: getHardwareDorsalTableDownload
      x-operation-id-source: derived
  /Hardware/Dorsal/SystemInfo/{readyMixUnitId}:
    get:
      tags:
      - Dorsal
      summary: Fetches general info for a ready mix unit, along with the start and end time of…
      parameters:
      - name: readyMixUnitId
        in: path
        description: ID of the ready mix unit.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/DorsalSystemInfoArgs'
            application/json:
              schema:
                $ref: '#/components/schemas/DorsalSystemInfoArgs'
            text/json:
              schema:
                $ref: '#/components/schemas/DorsalSystemInfoArgs'
      security:
      - OrcaAuth:
        - applicationId
        - roles
      - {}
      - {}
      operationId: getHardwareDorsalSystemInfoByReadyMixUnitId
      x-operation-id-source: derived
  /Hardware/Dorsal/Connectivity/{readyMixUnitId}:
    get:
      tags:
      - Dorsal
      summary: Fetches connectivity info for a ready mix unit - whether it's online or not…
      parameters:
      - name: readyMixUnitId
        in: path
        description: ID of the ready mix unit.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/DorsalSystemConnectivity'
            application/json:
              schema:
                $ref: '#/components/schemas/DorsalSystemConnectivity'
            text/json:
              schema:
                $ref: '#/components/schemas/DorsalSystemConnectivity'
      security:
      - OrcaAuth:
        - applicationId
        - roles
      - {}
      - {}
      operationId: getHardwareDorsalConnectivityByReadyMixUnitId
      x-operation-id-source: derived
  /Hardware/Dorsal/Watch/{readyMixUnitId}:
    get:
      tags:
      - Dorsal
      summary: Checks whether the current user is "watching" a ready mix unit
      parameters:
      - name: readyMixUnitId
        in: path
        description: ID of the ready mix unit.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/WatchDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/WatchDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/WatchDetails'
      security:
      - OrcaAuth:
        - applicationId
        - roles
      - {}
      - {}
      operationId: getHardwareDorsalWatchByReadyMixUnitId
      x-operation-id-source: derived
    post:
      tags:
      - Dorsal
      summary: Updates whether the current user is "watching" a ready mix unit
      parameters:
      - name: readyMixUnitId
        in: path
        description: ID of the ready mix unit.
        required: true
        schema:
          type: integer
          format: int32
      - name: isWatching
        in: query
        description: Whether the current user should be set as watching the ready mix unit.
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/WatchDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/WatchDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/WatchDetails'
      security:
      - OrcaAuth:
        - applicationId
        - roles
      - {}
      - {}
      operationId: postHardwareDorsalWatchByReadyMixUnitId
      x-operation-id-source: derived
components:
  schemas:
    InternalTeamArgs:
      type: object
      properties:
        userId:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
        email:
          type:
          - string
          - 'null'
        isDisabled:
          type: boolean
        designation:
          $ref: '#/components/schemas/InternalTeamDesignation'
      additionalProperties: false
    DorsalTableRow:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
        inletLiquidPressurePsi:
          type:
          - number
          - 'null'
          format: double
        inletGasPressurePsi:
          type:
          - number
          - 'null'
          format: double
        upstreamTemperatureC:
          type:
          - number
          - 'null'
          format: double
        downstreamPressure0Psi:
          type:
          - number
          - 'null'
          format: double
        downstreamPressure1Psi:
          type:
          - number
          - 'null'
          format: double
        downstreamPressure2Psi:
          type:
          - number
          - 'null'
          format: double
        upstreamPressurePsi:
          type:
          - number
          - 'null'
          format: double
        flowRateKgPerSec:
          type:
          - number
          - 'null'
          format: double
        injectedCO2Kg:
          type:
          - number
          - 'null'
          format: double
        mixTimeSeconds:
          type:
          - integer
          - 'null'
          format: int32
        alarmCode:
          type:
          - integer
          - 'null'
          format: int32
        alarmMessage:
          type:
          - string
          - 'null'
      additionalProperties: false
    TableRanking:
      enum:
      - Injections
      - Readings
      - Statuses
      - Alarms
      type: string
    DorsalGraphs:
      type: object
      properties:
        intervalSeconds:
          type: integer
          format: int64
        injectedCO2Kg:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DorsalDataPoint'
        inletLiquidPressurePsi:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DorsalDataPoint'
        downstreamPressure0Psi:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DorsalDataPoint'
        downstreamPressure1Psi:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DorsalDataPoint'
        downstreamPressure2Psi:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DorsalDataPoint'
        upstreamPressurePsi:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DorsalDataPoint'
        inletGasPressurePsi:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DorsalDataPoint'
        flowRateKgPerSec:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DorsalDataPoint'
        temperatureC:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DorsalDataPoint'
        alarms:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/AlarmDataPoint'
      additionalProperties: false
    IpConnectivity:
      type: object
      properties:
        isAccessible:
          type: boolean
        statusValidSince:
          type:
          - string
          - 'null'
          format: date-time
      additionalProperties: false
    DorsalSystemConnectivity:
      type: object
      properties:
        airlinkConnectivity:
          $ref: '#/components/schemas/IpConnectivity'
        hmiConnectivity:
          $ref: '#/components/schemas/IpConnectivity'
        plcConnectivity:
          $ref: '#/components/schemas/IpConnectivity'
      additionalProperties: false
    DorsalDataPoint:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
        value:
          type:
          - number
          - 'null'
          format: double
      additionalProperties: false
    InternalTeamDesignation:
      enum:
      - Hardware
      - AccountManager
      - Tss
      - Tpm
      type: string
    DorsalTable:
      type: object
      properties:
        fromTime:
          type:
          - string
          - 'null'
          format: date-time
        fromTable:
          $ref: '#/components/schemas/TableRanking'
        data:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DorsalTableRow'
      additionalProperties: false
    DorsalSystemInfoArgs:
      type: object
      properties:
        system:
          $ref: '#/components/schemas/SystemInfoArgs'
        suggestedStartTime:
          type:
          - string
          - 'null'
          format: date-time
        suggestedEndTime:
          type:
          - string
          - 'null'
          format: date-time
      additionalProperties: false
    AlarmDataPoint:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
        count:
          type: number
          format: double
        code:
          type: integer
          format: int32
        message:
          type:
          - string
          - 'null'
      additionalProperties: false
    SystemInfoArgs:
      type: object
      properties:
        readyMixUnitId:
          type: integer
          format: int32
        divisionId:
          type: integer
          format: int32
        divisionName:
          type:
          - string
          - 'null'
        plantId:
          type: integer
          format: int32
        plantName:
          type:
          - string
          - 'null'
        workflowName:
          type:
          - string
          - 'null'
        city:
          type:
          - string
          - 'null'
        state:
          type:
          - string
          - 'null'
        hmiId:
          type: integer
          format: int32
        valveEnclosureSerial:
          type:
          - string
          - 'null'
        airlinkIpAddress:
          type:
          - string
          - 'null'
          readOnly: true
        hmiIpAddress:
          type:
          - string
          - 'null'
          readOnly: true
        plcIpAddress:
          type:
          - string
          - 'null'
          readOnly: true
        usbLink:
          type:
          - string
          - 'null'
          readOnly: true
        sdLink:
          type:
          - string
          - 'null'
          readOnly: true
        ftpLink:
          type:
          - string
          - 'null'
          readOnly: true
        customerSuccessName:
          type:
          - string
          - 'null'
        isOperational:
          type: boolean
        isDown:
          type: boolean
        serial:
          type:
          - string
          - 'null'
        address:
          type:
          - string
          - 'null'
        lastSeen:
          type: string
          format: date-time
        latestInjectionTimestamp:
          type:
          - string
          - 'null'
          format: date-time
        isSnoozed:
          type: boolean
        snoozeReason:
          $ref: '#/components/schemas/SonarSystemSnoozeReason'
        snoozeReasonDetails:
          type:
          - string
          - 'null'
        snoozeUntilTimestamp:
          type:
          - string
          - 'null'
          format: date-time
        internalTeam:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/InternalTeamArgs'
        productionMachineLink:
          type:
          - string
          - 'null'
        orificeType:
          $ref: '#/components/schemas/OrificeType'
      additionalProperties: false
    OrificeType:
      enum:
      - Single
      - Dual
      - Triple
      type: string
    WatchDetails:
      type: object
      properties:
        isWatching:
          type: boolean
      additionalProperties: false
    SonarSystemSnoozeReason:
      enum:
      - Seasonal
      - MaintenanceProducer
      - MaintenanceCarbonCure
      - MaintenanceCO2Tank
      - Churned
      - Inactive
      - Other
      type: string
  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: {}