---
title: "Check evaluate job result (cache)"
method: GET
path: "/api/{projectId}/deployment/evaluate/cache"
tags: ["Deployment"]
---

# Check evaluate job result (cache)

`GET /api/{projectId}/deployment/evaluate/cache`

## Request

- Base URL: `https://studio.edgeimpulse.com/v1`
- URL: `https://studio.edgeimpulse.com/v1/api/{projectId}/deployment/evaluate/cache`
- Auth: one of:
  - API key in header `x-api-key`
  - API key in cookie `jwt`
  - API key in header `x-jwt-token`
  - OAuth 2
    - Authorization code: `/v1/oauth/authorize`
    - Client credentials
    - Implicit: `/v1/oauth/authorize`
    - Password
    - Token URL: `/v1/oauth/token`
- TypeScript: <https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/docs/api/:projectId/deployment/evaluate/cache/get.ts> (a function with typed inputs; its response is checked against the schema)

Get evaluate job result, containing detailed performance statistics for every possible variant of the impulse. This only checks cache, and throws an error if there is no data in cache.

## Path parameters

- `projectId` integer, required

## Query parameters

- `impulseId` integer

## Response `200`

OK

- EvaluateJobResponse
  - `success` boolean, required: Whether the operation succeeded
  - `error` string: Optional error description (set if 'success' was false)
  - `result` ModelVariantStats[], required
    - `modelType` 'int8' | 'float32' | 'akida' | 'requiresRetrain', required
    - `learnBlockId` integer, required: The learning block this model variant is from
    - `learnBlockType` 'anomaly' | 'anomaly-gmm' | 'keras' | 'keras-transfer-image' | 'keras-transfer-kws' | 'keras-object-detection' | 'keras-regression' | 'keras-akida' | 'keras-akida-transfer-image' | 'keras-akida-object-detection' | 'keras-visual-anomaly' | 'keras-freeform' | 'keras-self-contained-freeform' | 'keras-anomaly' | 'vlm', required: The type of learning block (anomaly, keras, keras-transfer-image, ...). Each behaves differently.
    - `confusionMatrix` object, required: A map from actual labels to predicted labels, where actual labels are listed in `trainingLabels` and possible predicted labels are listed in `classificationLabels`.
    - `trainingLabels` string[], required: The labels present in the model's training data. These are all present in the first dimension of the confusion matrix.
    - `classificationLabels` string[], required: The possible labels resulting from classification. These may be present in the second dimension of the confusion matrix.
    - `totalWindowCount` integer: The total number of windows that were evaluated
    - `totalCorrectWindowCount` EvaluateResultValue
      - `raw` number: The value based on the model alone
      - `withAnomaly` number: The value including the result of anomaly detection
    - `accuracy` EvaluateResultValue, required
      - `raw` number: The value based on the model alone
      - `withAnomaly` number: The value including the result of anomaly detection

---

[API](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api.md) - [All operations](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/llms.txt) - [OpenAPI document](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/revisions/e2a976d38427?raw)
