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

# Cancel an Agent evaluation run

> Records a cancellation request under agents:read and agent-evaluations:run; running trials stop only at their durable boundary. A repeated request against a terminal run returns conflict, so inspect the returned state before retrying.



## OpenAPI

````yaml https://api.getarbol.com/openapi.json post /agents/{agentId}/evaluation-runs/{runId}/cancel
openapi: 3.1.2
info:
  contact:
    email: support@getarbol.com
    name: Arbol
    url: https://docs.getarbol.com
  description: >-
    Provider-neutral API for creating and operating Arbol agents, contacts,
    conversations, channels, knowledge, integrations, and evaluations. Every
    request is bound to one Auth0 Organization.
  title: Arbol API
  version: 1.0.0
servers:
  - description: Production
    url: https://api.getarbol.com/v1
security: []
paths:
  /agents/{agentId}/evaluation-runs/{runId}/cancel:
    post:
      tags:
        - Agent evaluations
      summary: Cancel an Agent evaluation run
      description: >-
        Records a cancellation request under agents:read and
        agent-evaluations:run; running trials stop only at their durable
        boundary. A repeated request against a terminal run returns conflict, so
        inspect the returned state before retrying.
      operationId: cancelAgentEvaluationRun
      parameters:
        - in: path
          required: true
          name: agentId
          schema:
            $ref: '#/components/schemas/ArbolResourceId'
        - in: path
          required: true
          name: runId
          schema:
            $ref: '#/components/schemas/ArbolResourceId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentEvaluationRun'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
        '400':
          description: >-
            Inferable validation failure or a non-inferable malformed transport
            request.
          content:
            application/json:
              schema:
                oneOf:
                  - oneOf:
                      - $ref: '#/components/schemas/BadRequest'
                      - $ref: '#/components/schemas/UndefinedError'
                  - $ref: '#/components/schemas/TransportBadRequestError'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
        '401':
          description: Authentication is required.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Unauthorized'
                  - $ref: '#/components/schemas/UndefinedError'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
        '403':
          description: The caller is not allowed to perform this operation.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Forbidden'
                  - $ref: '#/components/schemas/UndefinedError'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
        '404':
          description: Evaluation run not found
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/NotFound'
                  - $ref: '#/components/schemas/UndefinedError'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
        '409':
          description: Evaluation run is already terminal
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Conflict'
                  - $ref: '#/components/schemas/UndefinedError'
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
      security:
        - userOAuth:
            - org:use
            - agents:read
            - agent-evaluations:run
        - machineOAuth:
            - agents:read
            - agent-evaluations:run
components:
  schemas:
    ArbolResourceId:
      type: string
      maxLength: 64
      pattern: >-
        ^[a-z][a-z0-9]{1,15}_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
      description: >-
        Opaque Arbol resource identifier; the endpoint and tenant-scoped lookup
        determine its resource type.
      examples:
        - agt_018f47a2-4f4d-7d61-9e2c-1d7b8e9a0c31
      title: Arbol resource ID
    AgentEvaluationRun:
      type: object
      properties:
        agentId:
          $ref: '#/components/schemas/ArbolResourceId'
        baselineRunId:
          anyOf:
            - $ref: '#/components/schemas/ArbolResourceId'
            - type: 'null'
        cancelRequestedAt:
          anyOf:
            - $ref: '#/components/schemas/IsoDatetime'
            - type: 'null'
        completedAt:
          anyOf:
            - $ref: '#/components/schemas/IsoDatetime'
            - type: 'null'
        completedTrials:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        createdAt:
          $ref: '#/components/schemas/IsoDatetime'
        failedTrials:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        id:
          $ref: '#/components/schemas/ArbolResourceId'
        passedTrials:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        repetitions:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
        result:
          anyOf:
            - type: string
              enum:
                - pass
                - fail
                - unknown
            - type: 'null'
        startedAt:
          anyOf:
            - $ref: '#/components/schemas/IsoDatetime'
            - type: 'null'
        status:
          type: string
          enum:
            - queued
            - running
            - completed
            - failed
            - cancelled
        suiteId:
          $ref: '#/components/schemas/ArbolResourceId'
        suiteRevision:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
        summary:
          anyOf:
            - type: object
              properties:
                baseline:
                  anyOf:
                    - type: object
                      properties:
                        baselineRunId:
                          $ref: '#/components/schemas/ArbolResourceId'
                        failedDelta:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        passedDelta:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        perCase:
                          maxItems: 50
                          type: array
                          items:
                            type: object
                            properties:
                              caseId:
                                type: string
                                maxLength: 100
                              passRateBpsDelta:
                                anyOf:
                                  - type: integer
                                    minimum: -9007199254740991
                                    maximum: 9007199254740991
                                  - type: 'null'
                            required:
                              - caseId
                              - passRateBpsDelta
                            additionalProperties: false
                        unknownDelta:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                      required:
                        - baselineRunId
                        - failedDelta
                        - passedDelta
                        - perCase
                        - unknownDelta
                      additionalProperties: false
                    - type: 'null'
                cost:
                  type: object
                  properties:
                    actualComponents:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                    actualMicrousd:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                    currency:
                      type: string
                      const: USD
                    estimatedComponents:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                    estimatedMicrousd:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                    pricingPolicyVersion:
                      type: string
                      minLength: 1
                      maxLength: 100
                    unknownComponents:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                  required:
                    - actualComponents
                    - actualMicrousd
                    - currency
                    - estimatedComponents
                    - estimatedMicrousd
                    - pricingPolicyVersion
                    - unknownComponents
                  additionalProperties: false
                duration:
                  type: object
                  properties:
                    averageMs:
                      anyOf:
                        - type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        - type: 'null'
                    totalMs:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                  required:
                    - averageMs
                    - totalMs
                  additionalProperties: false
                failures:
                  maxItems: 1550
                  type: array
                  items:
                    type: object
                    properties:
                      count:
                        type: integer
                        exclusiveMinimum: 0
                        maximum: 9007199254740991
                      result:
                        type: string
                        enum:
                          - fail
                          - unknown
                      scorerKey:
                        type: string
                        maxLength: 100
                    required:
                      - count
                      - result
                      - scorerKey
                    additionalProperties: false
                overall:
                  type: object
                  properties:
                    attempted:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                    failed:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                    passed:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                    passRateBps:
                      anyOf:
                        - type: integer
                          minimum: 0
                          maximum: 10000
                        - type: 'null'
                    unknown:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                  required:
                    - attempted
                    - failed
                    - passed
                    - passRateBps
                    - unknown
                  additionalProperties: false
                perCase:
                  maxItems: 50
                  type: array
                  items:
                    type: object
                    properties:
                      caseId:
                        type: string
                        maxLength: 100
                      counts:
                        type: object
                        properties:
                          attempted:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          failed:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          passed:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          passRateBps:
                            anyOf:
                              - type: integer
                                minimum: 0
                                maximum: 10000
                              - type: 'null'
                          unknown:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                        required:
                          - attempted
                          - failed
                          - passed
                          - passRateBps
                          - unknown
                        additionalProperties: false
                    required:
                      - caseId
                      - counts
                    additionalProperties: false
                tokenUsage:
                  type: object
                  properties:
                    judge:
                      anyOf:
                        - type: object
                          properties:
                            cacheReadInputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            cacheWriteInputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            inputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            noCacheInputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            outputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            reasoningOutputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            textOutputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            totalTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                          required:
                            - cacheReadInputTokens
                            - cacheWriteInputTokens
                            - inputTokens
                            - noCacheInputTokens
                            - outputTokens
                            - reasoningOutputTokens
                            - textOutputTokens
                            - totalTokens
                          additionalProperties: false
                        - type: 'null'
                    simulator:
                      anyOf:
                        - type: object
                          properties:
                            cacheReadInputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            cacheWriteInputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            inputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            noCacheInputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            outputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            reasoningOutputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            textOutputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            totalTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                          required:
                            - cacheReadInputTokens
                            - cacheWriteInputTokens
                            - inputTokens
                            - noCacheInputTokens
                            - outputTokens
                            - reasoningOutputTokens
                            - textOutputTokens
                            - totalTokens
                          additionalProperties: false
                        - type: 'null'
                    target:
                      anyOf:
                        - type: object
                          properties:
                            cacheReadInputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            cacheWriteInputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            inputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            noCacheInputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            outputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            reasoningOutputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            textOutputTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            totalTokens:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                          required:
                            - cacheReadInputTokens
                            - cacheWriteInputTokens
                            - inputTokens
                            - noCacheInputTokens
                            - outputTokens
                            - reasoningOutputTokens
                            - textOutputTokens
                            - totalTokens
                          additionalProperties: false
                        - type: 'null'
                  required:
                    - judge
                    - simulator
                    - target
                  additionalProperties: false
              required:
                - baseline
                - cost
                - duration
                - failures
                - overall
                - perCase
                - tokenUsage
              additionalProperties: false
            - type: 'null'
        targetKind:
          type: string
          enum:
            - canonical
        totalTrials:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
        unknownTrials:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        updatedAt:
          $ref: '#/components/schemas/IsoDatetime'
      required:
        - agentId
        - baselineRunId
        - cancelRequestedAt
        - completedAt
        - completedTrials
        - createdAt
        - failedTrials
        - id
        - passedTrials
        - repetitions
        - result
        - startedAt
        - status
        - suiteId
        - suiteRevision
        - summary
        - targetKind
        - totalTrials
        - unknownTrials
        - updatedAt
      additionalProperties: false
      description: >-
        Durable evaluation execution state and aggregate result over an
        immutable run snapshot.
      title: Agent evaluation run
    BadRequest:
      type: object
      properties:
        defined:
          const: true
        inferable:
          type: boolean
        code:
          const: BAD_REQUEST
        status:
          const: 400
        message:
          type: string
        data:
          type: object
          properties:
            issues:
              maxItems: 20
              type: array
              items:
                type: object
                properties:
                  message:
                    type: string
                    maxLength: 500
                  path:
                    maxItems: 16
                    type: array
                    items:
                      anyOf:
                        - type: string
                          maxLength: 120
                        - type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                required:
                  - message
                additionalProperties: false
            truncated:
              type: boolean
          required:
            - issues
            - truncated
          additionalProperties: false
      required:
        - defined
        - inferable
        - code
        - status
        - message
        - data
    UndefinedError:
      type: object
      properties:
        defined:
          const: false
        inferable:
          type: boolean
        code:
          type: string
        status:
          type: number
        message:
          type: string
        data: {}
      required:
        - defined
        - inferable
        - code
        - status
        - message
    TransportBadRequestError:
      additionalProperties: false
      properties:
        code:
          const: BAD_REQUEST
        data: {}
        defined:
          const: false
        inferable:
          const: false
        message:
          type: string
      required:
        - defined
        - inferable
        - code
        - message
      type: object
    Unauthorized:
      type: object
      properties:
        defined:
          const: true
        inferable:
          type: boolean
        code:
          const: UNAUTHORIZED
        status:
          const: 401
        message:
          type: string
        data: {}
      required:
        - defined
        - inferable
        - code
        - status
        - message
    Forbidden:
      type: object
      properties:
        defined:
          const: true
        inferable:
          type: boolean
        code:
          const: FORBIDDEN
        status:
          const: 403
        message:
          type: string
        data:
          type: object
          properties:
            missingPermissions:
              maxItems: 10
              type: array
              items:
                $ref: '#/components/schemas/AuthPermission'
          required:
            - missingPermissions
          additionalProperties: false
      required:
        - defined
        - inferable
        - code
        - status
        - message
    NotFound:
      type: object
      properties:
        defined:
          const: true
        inferable:
          type: boolean
        code:
          const: NOT_FOUND
        status:
          const: 404
        message:
          type: string
        data: {}
      required:
        - defined
        - inferable
        - code
        - status
        - message
    Conflict:
      type: object
      properties:
        defined:
          const: true
        inferable:
          type: boolean
        code:
          const: CONFLICT
        status:
          const: 409
        message:
          type: string
        data:
          type: object
          properties:
            currentStatus:
              type: string
              enum:
                - queued
                - running
                - completed
                - failed
                - cancelled
          required:
            - currentStatus
          additionalProperties: false
      required:
        - defined
        - inferable
        - code
        - status
        - message
        - data
    IsoDatetime:
      type: string
      format: date-time
      pattern: >-
        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
      description: ISO 8601 timestamp with an explicit UTC offset.
      examples:
        - '2026-08-29T14:30:00Z'
      title: ISO timestamp
    AuthPermission:
      type: string
      enum:
        - agent-evaluations:read
        - agent-evaluations:run
        - agent-evaluations:write
        - agents:read
        - agents:write
        - analytics:read
        - arbi:use
        - channels:read
        - channels:write
        - contacts:read
        - contacts:write
        - conversations:read
        - conversations:transcript
        - conversations:write
        - definitions:read
        - definitions:write
        - facts:read
        - facts:write
        - integrations:read
        - integrations:write
        - knowledge:read
        - knowledge:write
        - org:manage
        - org:use
      description: >-
        One permission from the closed Arbol API vocabulary accepted from a
        verified Auth0 token.
      examples:
        - agents:read
      title: API permission
  headers:
    RequestId:
      description: >-
        Opaque request correlation identifier. Include it when contacting Arbol
        support.
      schema:
        type: string
        maxLength: 128
  securitySchemes:
    userOAuth:
      description: >-
        Organization-scoped Auth0 user access token issued to an approved
        first-party client or exchanged by a trusted OBO resource server.
      flows:
        authorizationCode:
          authorizationUrl: https://auth.getarbol.com/authorize
          scopes:
            agent-evaluations:read: Read Agent evaluation suites, runs, and results.
            agent-evaluations:run: Execute and cancel Agent evaluation runs.
            agent-evaluations:write: Create and update Agent evaluation suites.
            agents:read: Read Agents and their explicitly requested expansions.
            agents:write: Create, update, and delete Agents.
            analytics:read: Read organization analytics.
            arbi:use: Use the personal Arbi workspace.
            channels:read: Read Agent channels.
            channels:write: Create, update, authorize, and delete Agent channels.
            contacts:read: Read Contacts and their explicitly requested expansions.
            contacts:write: Create, update, merge, import, and delete Contacts.
            conversations:read: Read Conversation metadata.
            conversations:transcript: Read Conversation messages and media evidence.
            conversations:write: Create and process Conversations.
            definitions:read: Read Definitions and Definition usage.
            definitions:write: Create, update, and retire Definitions.
            facts:read: Read current and historical Facts.
            facts:write: Assert typed Facts.
            integrations:read: Discover integrations, tools, accounts, and tool-bearing evidence.
            integrations:write: Authorize accounts and assign exact tool access.
            knowledge:read: Read Knowledge documents and search indexed content.
            knowledge:write: Create, index, update, and delete Knowledge documents.
            org:manage: Update the Organization and administer its members.
            org:use: Use Arbol as a member of the selected Auth0 Organization.
          tokenUrl: https://auth.getarbol.com/oauth/token
      type: oauth2
    machineOAuth:
      description: >-
        Organization-bound Auth0 client-credentials token. The client grant must
        contain every operation scope.
      flows:
        clientCredentials:
          scopes:
            agent-evaluations:read: Read Agent evaluation suites, runs, and results.
            agent-evaluations:run: Execute and cancel Agent evaluation runs.
            agent-evaluations:write: Create and update Agent evaluation suites.
            agents:read: Read Agents and their explicitly requested expansions.
            agents:write: Create, update, and delete Agents.
            analytics:read: Read organization analytics.
            channels:read: Read Agent channels.
            channels:write: Create, update, authorize, and delete Agent channels.
            contacts:read: Read Contacts and their explicitly requested expansions.
            contacts:write: Create, update, merge, import, and delete Contacts.
            conversations:read: Read Conversation metadata.
            conversations:transcript: Read Conversation messages and media evidence.
            conversations:write: Create and process Conversations.
            definitions:read: Read Definitions and Definition usage.
            definitions:write: Create, update, and retire Definitions.
            facts:read: Read current and historical Facts.
            facts:write: Assert typed Facts.
            integrations:read: Discover integrations, tools, accounts, and tool-bearing evidence.
            integrations:write: Authorize accounts and assign exact tool access.
            knowledge:read: Read Knowledge documents and search indexed content.
            knowledge:write: Create, index, update, and delete Knowledge documents.
            org:manage: Update the Organization and administer its members.
          tokenUrl: https://auth.getarbol.com/oauth/token
      type: oauth2

````