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

# Cancel a metric collection job

> Stops a metric collection job that has not finished. No further conversations are processed and the job ends in CANCELED.

Items the job had not reached are marked SKIPPED. Metric values already produced are kept, and items that were mid-computation when the cancel arrived may still complete. Only the items that completed are billed.

Safe to call more than once: a job that has already finished (COMPLETED, FAILED, or CANCELED) is returned unchanged.



## OpenAPI

````yaml /api-reference/openapi.documented.json post /v1/metric/collection-jobs/{jobId}/cancel
openapi: 3.1.0
info:
  title: Roark Analytics API
  description: >-
    The Roark Analytics API gives you access to the same API that powers the
    award winning Roark Analytics platform.
  version: 1.0.0
servers:
  - description: Production
    url: https://api.roark.ai
security:
  - Bearer: []
tags:
  - name: Agent
  - name: Agent Endpoint
  - name: Call
  - name: Chat
  - name: Metric
  - name: Metric Policy
  - name: Metric Collection Job
  - name: Customer Flow
  - name: Customer Flow Edge Case
  - name: Simulation
  - name: Simulation Persona
  - name: Simulation Environment
  - name: Simulation Scenario
  - name: Simulation Run Plan
  - name: Simulation Template
  - name: Simulation Run Plan Job
  - name: Simulation Job
  - name: HTTP Request Definition
  - name: Webhook
  - name: Issue
  - name: Autoimprove
  - name: Agent Config
  - name: Knowledge Base
  - name: Config
  - name: Organization Project
  - name: Organization Project Member
  - name: Organization Project API Key
  - name: Organization Config
  - name: CLI Auth
  - name: Me
  - name: Project
  - name: Usage
  - name: Analytics
  - name: Dashboard
  - name: Benchmark
  - name: Health
  - name: Prospect Simulation
paths:
  /v1/metric/collection-jobs/{jobId}/cancel:
    post:
      tags:
        - Metric Collection Job
      summary: Cancel a metric collection job
      description: >-
        Stops a metric collection job that has not finished. No further
        conversations are processed and the job ends in CANCELED.


        Items the job had not reached are marked SKIPPED. Metric values already
        produced are kept, and items that were mid-computation when the cancel
        arrived may still complete. Only the items that completed are billed.


        Safe to call more than once: a job that has already finished (COMPLETED,
        FAILED, or CANCELED) is returned unchanged.
      operationId: postV1MetricCollection-jobsByJobIdCancel
      parameters:
        - name: jobId
          in: path
          required: true
          description: The ID of the metric collection job to cancel
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The canceled job, or the job unchanged if it had already finished
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/MetricCollectionJobResponse'
                required:
                  - data
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Authentication error
              example:
                type: authentication
                code: unauthorized
                message: Authentication required
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Permission error
              example:
                type: forbidden
                code: permission_denied
                message: You do not have permission to access this resource
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Not found error
              example:
                type: not_found
                code: resource_not_found
                message: The requested resource could not be found
          description: Not Found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Rate limit error
              example:
                type: rate_limit
                code: too_many_requests
                message: Rate limit exceeded
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Server error
              example:
                type: internal
                code: internal_error
                message: Internal server error
          description: Internal Server Error
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import Roark from '@roarkanalytics/sdk';


            const client = new Roark({
              bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted
            });


            const response = await
            client.metricCollectionJob.cancel('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');


            console.log(response.data);
        - lang: Python
          source: |-
            import os
            from roark_analytics import Roark

            client = Roark(
                bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"),  # This is the default and can be omitted
            )
            response = client.metric_collection_job.cancel(
                "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            )
            print(response.data)
components:
  schemas:
    MetricCollectionJobResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the metric collection job
        status:
          type: string
          enum:
            - PENDING
            - PROCESSING
            - COMPLETED
            - FAILED
            - CANCELED
          description: Current status of the job
        triggeredBy:
          type: string
          enum:
            - USER_MANUAL
            - USER_API
            - METRIC_POLICY
            - SIMULATION
          description: What triggered this job
        totalItems:
          type: integer
          description: Total number of call-metric pairs to process
        completedItems:
          type: integer
          description: >-
            Number of items that finished without failing: a value was written,
            or the metric did not apply to the conversation
        failedItems:
          type: integer
          description: >-
            Number of items that could not be computed, for example because an
            artifact the metric reads (such as diarization) failed to generate
        startedAt:
          type:
            - string
            - 'null'
          description: When the job started processing
        completedAt:
          type:
            - string
            - 'null'
          description: When the job completed
        errorMessage:
          type:
            - string
            - 'null'
          description: >-
            Why the job failed or, on a COMPLETED job with failedItems above 0,
            why those items failed
        policyIds:
          type: array
          items:
            type: string
            format: uuid
          description: IDs of the metric policies that triggered this job
        createdAt:
          type: string
          description: When the job was created
        updatedAt:
          type: string
          description: When the job was last updated
      required:
        - id
        - status
        - triggeredBy
        - totalItems
        - completedItems
        - failedItems
        - startedAt
        - completedAt
        - errorMessage
        - policyIds
        - createdAt
        - updatedAt
      description: A metric collection job that processes metrics for calls or chats
    ErrorResponse:
      type: object
      properties:
        type:
          type: string
          enum:
            - validation
            - authentication
            - forbidden
            - not_found
            - conflict
            - payment_required
            - rate_limit
            - internal
          description: The error type category
          examples:
            - validation
            - authentication
        code:
          type: string
          description: Machine-readable error code identifier
          examples:
            - invalid_parameter
            - missing_required_field
            - unauthorized
        message:
          type: string
          description: Human-readable error message
          examples:
            - The request was invalid
            - Authentication required
        param:
          type: string
          description: The parameter that caused the error (if applicable)
          examples:
            - email
            - user_id
        details:
          description: Additional error context information
      required:
        - type
        - code
        - message
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

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