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

# List async operations

> Lists asynchronous operations with optional filters for resource association and status.



## OpenAPI

````yaml https://api.app.chainloop.dev/openapi.yaml get /v1/operations
openapi: 3.0.1
info:
  contact:
    email: support@chainloop.dev
    name: Chainloop Support
    url: https://chainloop.dev
  termsOfService: https://chainloop.dev/terms
  title: Chainloop Platform API
  version: '1.0'
servers:
  - url: https://api.app.chainloop.dev/
security:
  - bearerToken: []
tags:
  - description: AI-powered agent operations
    name: AgentsService
  - name: ArtifactService
  - name: AssessmentService
  - description: Service for polling the status of asynchronous operations
    name: AsyncOperationsService
  - name: AttestationsService
  - name: PolicyService
  - name: ComplianceService
  - name: ComponentService
  - name: EnvironmentsService
  - name: EvidenceService
  - name: FindingService
  - name: LogicalEnvironmentsService
  - name: ProductsService
  - name: ProjectsService
  - name: UserService
externalDocs:
  description: Chainloop Official Documentation
  url: https://docs.chainloop.dev
paths:
  /v1/operations:
    get:
      tags:
        - AsyncOperationsService
      summary: List async operations
      description: >-
        Lists asynchronous operations with optional filters for resource
        association and status.
      operationId: AsyncOperationsService_ListOperations
      parameters:
        - description: >-
            The (zero-based) offset of the first item returned in the
            collection.
          in: query
          name: pagination.page
          schema:
            format: int32
            type: integer
        - description: >-
            The maximum number of entries to return. If the value exceeds the
            maximum, then the maximum value will be used.
          in: query
          name: pagination.page_size
          schema:
            format: int32
            type: integer
        - description: >-
            Filter by associated resource ID (must be provided with
            resource_type)
          in: query
          name: resource_id
          schema:
            type: string
        - description: >-
            Filter by associated resource type (must be provided with
            resource_id)
          in: query
          name: resource_type
          schema:
            type: string
        - description: Filter by operation status
          in: query
          name: status
          schema:
            default: ASYNC_OPERATION_STATUS_UNSPECIFIED
            enum:
              - ASYNC_OPERATION_STATUS_UNSPECIFIED
              - ASYNC_OPERATION_STATUS_PENDING
              - ASYNC_OPERATION_STATUS_RUNNING
              - ASYNC_OPERATION_STATUS_COMPLETED
              - ASYNC_OPERATION_STATUS_FAILED
              - ASYNC_OPERATION_STATUS_PURGED
            type: string
        - description: Filter by operation kind (e.g., evidence_evaluation)
          in: query
          name: kind
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/v1AsyncOperationsServiceListOperationsResponse
          description: A successful response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1BadRequestResponse'
          description: Bad Request - The request was invalid or cannot be served.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1UnauthorizedResponse'
          description: Unauthorized - Authentication is required.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1PermissionDeniedResponse'
          description: Forbidden - You do not have permission to access this resource.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1InternalServerErrorResponse'
          description: Internal Server Error - An unexpected error occurred on the server.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
components:
  schemas:
    v1AsyncOperationsServiceListOperationsResponse:
      example:
        operations:
          - output: output
            error_message: error_message
            finished_at: '2000-01-23T04:56:07.000Z'
            project_id: project_id
            kind: kind
            resource_type: resource_type
            created_at: '2000-01-23T04:56:07.000Z'
            started_at: '2000-01-23T04:56:07.000Z'
            resource_id: resource_id
            id: id
            project_version_id: project_version_id
            status: ASYNC_OPERATION_STATUS_UNSPECIFIED
          - output: output
            error_message: error_message
            finished_at: '2000-01-23T04:56:07.000Z'
            project_id: project_id
            kind: kind
            resource_type: resource_type
            created_at: '2000-01-23T04:56:07.000Z'
            started_at: '2000-01-23T04:56:07.000Z'
            resource_id: resource_id
            id: id
            project_version_id: project_version_id
            status: ASYNC_OPERATION_STATUS_UNSPECIFIED
        pagination:
          total_count: 4
          page: 3
          total_pages: 7
          page_size: 2
      properties:
        operations:
          items:
            $ref: '#/components/schemas/v1AsyncOperationResult'
          title: List of operations
          type: array
        pagination:
          $ref: '#/components/schemas/v1OffsetPaginationResponse'
      type: object
    v1BadRequestResponse:
      description: Response for bad request
      example:
        code: 0
        details:
          - details
          - details
        message: message
      properties:
        code:
          default: 3
          description: >-
            The error code indicating the type of error. It's fixed to 3, which
            is the code for INVALID_ARGUMENT.
          format: int32
          type: integer
        message:
          description: A human-readable message providing more details about the error.
          type: string
        details:
          description: Additional details about the error.
          items:
            type: string
          type: array
      required:
        - code
        - message
      title: BadRequestResponse
      type: object
    v1UnauthorizedResponse:
      description: Response for unauthorized access
      example:
        code: 6
        details:
          - details
          - details
        message: message
      properties:
        code:
          default: 16
          description: >-
            The error code indicating the type of error. It's fixed to 16, which
            is the code for UNAUTHENTICATED.
          format: int32
          type: integer
        message:
          description: A human-readable message providing more details about the error.
          type: string
        details:
          description: Additional details about the error.
          items:
            type: string
          type: array
      required:
        - code
        - message
      title: UnauthorizedResponse
      type: object
    v1PermissionDeniedResponse:
      description: Response for permission denied
      example:
        code: 1
        details:
          - details
          - details
        message: message
      properties:
        code:
          default: 7
          description: >-
            The error code indicating the type of error. It's fixed to 7, which
            is the code for PERMISSION_DENIED.
          format: int32
          type: integer
        message:
          description: A human-readable message providing more details about the error.
          type: string
        details:
          description: Additional details about the error.
          items:
            type: string
          type: array
      required:
        - code
        - message
      title: PermissionDeniedResponse
      type: object
    v1InternalServerErrorResponse:
      description: Response for internal server error
      example:
        code: 5
        details:
          - details
          - details
        message: message
      properties:
        code:
          default: 13
          description: >-
            The error code indicating the type of error. It's fixed to 13, which
            is the code for INTERNAL_ERROR.
          format: int32
          type: integer
        message:
          description: A human-readable message providing more details about the error.
          type: string
        details:
          description: Additional details about the error.
          items:
            type: string
          type: array
      required:
        - code
        - message
      title: InternalServerErrorResponse
      type: object
    rpcStatus:
      example:
        code: 5
        details:
          - '@type': '@type'
          - '@type': '@type'
        message: message
      properties:
        code:
          format: int32
          type: integer
        message:
          type: string
        details:
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
      type: object
    v1AsyncOperationResult:
      description: >-
        AsyncOperationResult represents the state and output of an asynchronous
        operation.
      example:
        output: output
        error_message: error_message
        finished_at: '2000-01-23T04:56:07.000Z'
        project_id: project_id
        kind: kind
        resource_type: resource_type
        created_at: '2000-01-23T04:56:07.000Z'
        started_at: '2000-01-23T04:56:07.000Z'
        resource_id: resource_id
        id: id
        project_version_id: project_version_id
        status: ASYNC_OPERATION_STATUS_UNSPECIFIED
      properties:
        id:
          title: Unique identifier of the operation
          type: string
        kind:
          title: Operation type (e.g., evidence_evaluation)
          type: string
        status:
          $ref: '#/components/schemas/v1AsyncOperationStatus'
        output:
          format: byte
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          title: Raw result bytes, consumer unmarshals based on kind
          type: string
        error_message:
          title: Error message if the operation failed
          type: string
        created_at:
          format: date-time
          title: When the operation was created
          type: string
        started_at:
          format: date-time
          title: When the operation started running
          type: string
        finished_at:
          format: date-time
          title: When the operation finished (completed or failed)
          type: string
        resource_id:
          title: ID of the associated resource
          type: string
        resource_type:
          title: Type of the associated resource (e.g., evidence, risk_assessment)
          type: string
        project_id:
          title: Project this operation is scoped to
          type: string
        project_version_id:
          title: Project version this operation is scoped to
          type: string
      type: object
    v1OffsetPaginationResponse:
      example:
        total_count: 4
        page: 3
        total_pages: 7
        page_size: 2
      properties:
        page:
          format: int32
          title: The current page number
          type: integer
        page_size:
          format: int32
          title: The number of results per page
          type: integer
        total_count:
          format: int32
          title: The total number of results
          type: integer
        total_pages:
          format: int32
          title: The total number of pages
          type: integer
      title: OffsetPaginationResponse is used to return the pagination information
      type: object
    protobufAny:
      additionalProperties:
        type: object
      example:
        '@type': '@type'
      properties:
        '@type':
          type: string
      type: object
    v1AsyncOperationStatus:
      default: ASYNC_OPERATION_STATUS_UNSPECIFIED
      description: >-
        AsyncOperationStatus represents the lifecycle state of an async
        operation.
      enum:
        - ASYNC_OPERATION_STATUS_UNSPECIFIED
        - ASYNC_OPERATION_STATUS_PENDING
        - ASYNC_OPERATION_STATUS_RUNNING
        - ASYNC_OPERATION_STATUS_COMPLETED
        - ASYNC_OPERATION_STATUS_FAILED
        - ASYNC_OPERATION_STATUS_PURGED
      type: string
  securitySchemes:
    bearerToken:
      description: Bearer token for authentication
      type: http
      scheme: bearer
      bearerFormat: JWT

````