> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chargerdojo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Compare a run with the last one

> Compare a conformance run you own with the previous comparable run against the same endpoint, version and module: which checks newly fail and which recovered.



## OpenAPI

````yaml /openapi/public-api.json get /testing/runs/{id}/regression-diff
openapi: 3.1.0
info:
  title: ChargerDojo public API
  version: 1.0.0
  description: >-
    Automate ChargerDojo with a cdojo_ API key: register partner endpoints, run
    conformance suites and charging journeys, and read the graded reports.
servers:
  - url: https://chargerdojo.com/api/v1
security:
  - apiKey: []
tags:
  - name: Connections
  - name: Testing
  - name: Reports
  - name: Usage
  - name: Journeys
paths:
  /testing/runs/{id}/regression-diff:
    get:
      tags:
        - Reports
      summary: Compare an owned run with its previous comparable run
      description: >-
        Compare a conformance run you own with the previous comparable run
        against the same endpoint, version and module: which checks newly fail
        and which recovered.
      operationId: runs_regression_diff
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            Identifier from the path. Owner scoped: another owner's id answers
            404.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegressionDiff'
        '400':
          description: Malformed input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found, or owned by another account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    RegressionDiff:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
        data:
          type: object
          required:
            - outcome
            - comparable
            - coverage
            - regressions
            - recoveries
            - stoppedBeingChecked
            - firstVerdicts
            - newWarnings
            - addedChecks
            - removedChecks
            - rosterMoved
            - toolVersionChanged
          properties:
            outcome:
              type: string
              enum:
                - first_run
                - no_change
                - regressed
                - roster_moved
                - unreachable
                - not_graded
            comparable:
              type: boolean
              description: >-
                Whether a check-by-check comparison was made. False when there
                is no comparable earlier run, which is never a pass.
            coverage:
              type: string
              enum:
                - full
                - reduced
                - none
              description: >-
                Reduced or none when this run graded fewer checks than the one
                before.
            incomparableReason:
              type: string
              enum:
                - no_previous_run
                - previous_deleted
                - previous_outside_retention
                - previous_not_graded
                - previous_missing_provenance
                - current_not_graded
                - different_target
                - different_version
                - different_module
                - different_withheld_modules
            regressions:
              type: array
              items:
                $ref: '#/components/schemas/CheckRef'
              description: Passed in the earlier run, failing now.
            recoveries:
              type: array
              items:
                $ref: '#/components/schemas/CheckRef'
              description: Failing in the earlier run, passing now.
            stoppedBeingChecked:
              type: array
              items:
                $ref: '#/components/schemas/CheckRef'
              description: Graded in the earlier run, not gradable now. Not a regression.
            firstVerdicts:
              type: array
              items:
                $ref: '#/components/schemas/CheckRef'
              description: Not gradable in the earlier run, graded now. Not a recovery.
            newWarnings:
              type: array
              items:
                $ref: '#/components/schemas/CheckRef'
              description: >-
                Newly warned: warns now and did not in the previous run,
                whatever either verdict.
            addedChecks:
              type: array
              items:
                type: string
              description: '`suiteId#testId` of each check that ran only in this run.'
            removedChecks:
              type: array
              items:
                type: string
              description: '`suiteId#testId` of each check that ran only in the earlier run.'
            rosterMoved:
              type: boolean
            toolVersionChanged:
              type: boolean
            previousToolVersion:
              type: string
            currentToolVersion:
              type: string
            previousCreatedAt:
              type: string
              format: date-time
              description: When the earlier run being compared against was started.
        meta:
          type: object
          description: Paging, on the operations that return a list.
          properties:
            limit:
              type: integer
            skip:
              type: integer
            nextCursor:
              type: string
          additionalProperties: true
    Error:
      type: object
      required:
        - success
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        message:
          type: string
        status:
          type: string
          enum:
            - error
        code:
          type: string
        timestamp:
          type: string
          format: date-time
        capability:
          type: string
          enum:
            - external-endpoints
            - ci-handoff
            - saved-presets
            - roaming-hub-identity
            - load-testing
            - direct-payment
            - bookings
            - scheduled-runs
            - roaming-hub-relay
            - partner-profiles
        limit:
          type: object
          required:
            - id
            - used
            - cap
          properties:
            id:
              type: string
              enum:
                - connections
                - run-concurrency
            used:
              type: integer
            cap:
              type: integer
    CheckRef:
      type: object
      required:
        - suiteId
        - testId
      properties:
        suiteId:
          type: string
        testId:
          type: string
        name:
          type: string
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: A cdojo_... API key created in the app under Settings.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.