n8n

n8n Evaluation API

Operations about evaluation test runs

Operations 5

GET /workflows/{id}/test-runs Retrieve test runs #
POST /workflows/{id}/test-runs Trigger a test run #
GET /workflows/{id}/test-runs/{runId} Retrieve a test run #
POST /workflows/{id}/test-runs/{runId}/cancel Cancel a test run #
GET /workflows/{id}/test-runs/{runId}/test-cases Retrieve test run cases #

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/n8n-evaluation-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

n8n-evaluation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: n8n Public Evaluation API
  description: n8n Public API
  termsOfService: https://n8n.io/legal/#terms
  contact:
    email: hello@n8n.io
  license:
    name: Sustainable Use License
    url: https://github.com/n8n-io/n8n/blob/master/LICENSE.md
  version: 1.1.1
servers:
- url: /api/v1
  description: Current n8n instance (self-hosted built-in playground)
- url: '{url}/api/v1'
  description: Self-hosted n8n instance
  variables:
    url:
      default: https://example.com
security:
- ApiKeyAuth: []
- BearerAuth: []
- CookieAuth: []
tags:
- name: Evaluation
  description: Operations about evaluation test runs
paths:
  /workflows/{id}/test-runs:
    get:
      x-eov-operation-id: getTestRuns
      x-required-scope: testRun:list
      x-eov-operation-handler: v1/handlers/evaluations/evaluations.handler
      tags:
      - Evaluation
      summary: Retrieve test runs
      description: Retrieve the evaluation test runs of a workflow.
      parameters:
      - name: id
        in: path
        description: The ID of the workflow.
        required: true
        schema:
          type: string
      - name: status
        in: query
        description: Status to filter the test runs by.
        required: false
        schema:
          type: string
          enum:
          - new
          - running
          - completed
          - error
          - cancelled
      - name: limit
        in: query
        description: The maximum number of items to return.
        required: false
        schema:
          type: number
          example: 100
          default: 100
          maximum: 250
      - name: cursor
        in: query
        description: Paginate by setting the cursor parameter to the nextCursor attribute returned by the previous request's response. Default value fetches the first "page" of the collection. See pagination for more detail.
        required: false
        style: form
        schema:
          type: string
      responses:
        '200':
          description: Operation successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 9f8e7d6c5b4a3210
                        status:
                          type: string
                          enum:
                          - new
                          - running
                          - completed
                          - error
                          - cancelled
                        runAt:
                          type:
                          - string
                          - 'null'
                          format: date-time
                        completedAt:
                          type:
                          - string
                          - 'null'
                          format: date-time
                        metrics:
                          type:
                          - object
                          - 'null'
                          additionalProperties: true
                          description: Aggregated metrics collected across the run's test cases.
                        errorCode:
                          type:
                          - string
                          - 'null'
                        errorDetails:
                          type:
                          - object
                          - 'null'
                          additionalProperties: true
                        finalResult:
                          type:
                          - string
                          - 'null'
                          enum:
                          - success
                          - error
                          - warning
                          description: Overall result of the run, derived from its test cases once completed.
                        testCaseCount:
                          type: integer
                          example: 42
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                  nextCursor:
                    type:
                    - string
                    - 'null'
                    description: Paginate through test runs by setting the cursor parameter to the nextCursor attribute returned by a previous request. Default value fetches the first "page" of the collection.
                    example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: The specified resource was not found.
      operationId: getWorkflowsByIdTestRuns
      x-operation-id-source: derived
    post:
      x-eov-operation-id: createTestRun
      x-required-scope: testRun:create
      x-eov-operation-handler: v1/handlers/evaluations/evaluations.handler
      tags:
      - Evaluation
      summary: Trigger a test run
      description: Start a new evaluation test run for a workflow. The workflow must contain a configured evaluation trigger. Requires the `workflow:execute` project scope in addition to the `testRun:create` API key scope.
      parameters:
      - name: id
        in: path
        description: The ID of the workflow.
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Test run triggered.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: 9f8e7d6c5b4a3210
                  status:
                    type: string
                    enum:
                    - new
                    - running
                    - completed
                    - error
                    - cancelled
                  createdAt:
                    type: string
                    format: date-time
        '401':
          description: Unauthorized
        '402':
          description: Payment required
        '403':
          description: Forbidden
        '404':
          description: The specified resource was not found.
        '409':
          description: Conflict
      operationId: postWorkflowsByIdTestRuns
      x-operation-id-source: derived
  /workflows/{id}/test-runs/{runId}:
    get:
      x-eov-operation-id: getTestRun
      x-required-scope: testRun:read
      x-eov-operation-handler: v1/handlers/evaluations/evaluations.handler
      tags:
      - Evaluation
      summary: Retrieve a test run
      description: Retrieve a single evaluation test run of a workflow, including its aggregated metrics and final result.
      parameters:
      - name: id
        in: path
        description: The ID of the workflow.
        required: true
        schema:
          type: string
      - name: runId
        in: path
        description: The ID of the test run.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Operation successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: 9f8e7d6c5b4a3210
                  status:
                    type: string
                    enum:
                    - new
                    - running
                    - completed
                    - error
                    - cancelled
                  runAt:
                    type:
                    - string
                    - 'null'
                    format: date-time
                  completedAt:
                    type:
                    - string
                    - 'null'
                    format: date-time
                  metrics:
                    type:
                    - object
                    - 'null'
                    additionalProperties: true
                    description: Aggregated metrics collected across the run's test cases.
                  errorCode:
                    type:
                    - string
                    - 'null'
                  errorDetails:
                    type:
                    - object
                    - 'null'
                    additionalProperties: true
                  finalResult:
                    type:
                    - string
                    - 'null'
                    enum:
                    - success
                    - error
                    - warning
                    description: Overall result of the run, derived from its test cases once completed.
                  testCaseCount:
                    type: integer
                    example: 42
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: The specified resource was not found.
      operationId: getWorkflowsByIdTestRunsByRunId
      x-operation-id-source: derived
  /workflows/{id}/test-runs/{runId}/cancel:
    post:
      x-eov-operation-id: cancelTestRun
      x-required-scope: testRun:cancel
      x-eov-operation-handler: v1/handlers/evaluations/evaluations.handler
      tags:
      - Evaluation
      summary: Cancel a test run
      description: Cancel a running evaluation test run of a workflow. Requires the `workflow:execute` project scope in addition to the `testRun:cancel` API key scope.
      parameters:
      - name: id
        in: path
        description: The ID of the workflow.
        required: true
        schema:
          type: string
      - name: runId
        in: path
        description: The ID of the test run.
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Cancellation requested.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: 9f8e7d6c5b4a3210
                  status:
                    type: string
                    enum:
                    - cancelled
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: The specified resource was not found.
        '409':
          description: Conflict
      operationId: postWorkflowsByIdTestRunsByRunIdCancel
      x-operation-id-source: derived
  /workflows/{id}/test-runs/{runId}/test-cases:
    get:
      x-eov-operation-id: getTestCases
      x-required-scope: testRun:read
      x-eov-operation-handler: v1/handlers/evaluations/evaluations.handler
      tags:
      - Evaluation
      summary: Retrieve test run cases
      description: Retrieve the per-case results of an evaluation test run.
      parameters:
      - name: id
        in: path
        description: The ID of the workflow.
        required: true
        schema:
          type: string
      - name: runId
        in: path
        description: The ID of the test run.
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: The maximum number of items to return.
        required: false
        schema:
          type: number
          example: 100
          default: 100
          maximum: 250
      - name: cursor
        in: query
        description: Paginate by setting the cursor parameter to the nextCursor attribute returned by the previous request's response. Default value fetches the first "page" of the collection. See pagination for more detail.
        required: false
        style: form
        schema:
          type: string
      responses:
        '200':
          description: Operation successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 1a2b3c4d5e6f7080
                        status:
                          type: string
                          enum:
                          - new
                          - running
                          - evaluation_running
                          - success
                          - error
                          - warning
                          - cancelled
                        runAt:
                          type:
                          - string
                          - 'null'
                          format: date-time
                        completedAt:
                          type:
                          - string
                          - 'null'
                          format: date-time
                        metrics:
                          type:
                          - object
                          - 'null'
                          additionalProperties: true
                          description: Metrics produced by this test case.
                        errorCode:
                          type:
                          - string
                          - 'null'
                        errorDetails:
                          type:
                          - object
                          - 'null'
                          additionalProperties: true
                        inputs:
                          type:
                          - object
                          - 'null'
                          additionalProperties: true
                          description: Input data for this test case.
                        outputs:
                          type:
                          - object
                          - 'null'
                          additionalProperties: true
                          description: Output data produced by this test case.
                        executionId:
                          type:
                          - string
                          - 'null'
                          description: ID of the underlying workflow execution, if still retained.
                  nextCursor:
                    type:
                    - string
                    - 'null'
                    description: Paginate through test cases by setting the cursor parameter to the nextCursor attribute returned by a previous request. Default value fetches the first "page" of the collection.
                    example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: The specified resource was not found.
      operationId: getWorkflowsByIdTestRunsByRunIdTestCases
      x-operation-id-source: derived
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-N8N-API-KEY
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    CookieAuth:
      type: apiKey
      in: cookie
      name: n8n-auth
externalDocs:
  description: n8n API documentation
  url: https://docs.n8n.io/api/
x-enable-proxy: false