---
title: "List actions"
method: GET
path: "/actions"
tags: ["Actions"]
---

# List actions

`GET /actions`

Get all actions for a project with optional filtering

## Query parameters

- `projectId` string, required
- `status` ActionStatus[]
- `search` string

## Response `200`

Successful response

- ActionsListResponse
  - `status` 'OK', required
  - `data` ActionRecord[], required
    - `actionId` string, required — Unique identifier for the action
    - `name` string, required — Human-readable name for the action
    - `description` string, nullable — Optional description
    - `action` Action[], required — Actions to perform when conditions match
      - union
        - ActionSkip
          - `op` 'skip', required
        - ActionQuarantine
          - `op` 'quarantine', required
        - ActionTag
          - `op` 'tag', required
          - `details` object, required
            - `tags` string[], required — Tags to add to matching tests
    - `matcher` RuleMatcher, required
      - `op` 'AND' | 'OR', required — How to combine multiple conditions
      - `cond` ActionMatcherCondition[], required — List of conditions to match
        - `type` 'testId' | 'project' | 'title' | 'file' | 'git_branch' | 'git_authorName' | 'git_authorEmail' | 'git_remoteOrigin' | 'git_message' | 'error_message' | 'titlePath' | 'annotation' | 'tag', required — The type of condition to match against. **Note:** Different condition types support different operators: - **Primitive types** (`testId`, `project`, `title`, `file`, `git_branch`, `git_authorName`, `git_authorEmail`, `git_remoteOrigin`, `git_message`): Support `eq`, `neq`, `any`, `empty`, `in`, `notIn` - **Complex types** (`error_message`, `titlePath`, `annotation`, `tag`): Support all operators including `inc`, `notInc`, `incAll`, `notIncAll`
        - `op` 'eq' | 'neq' | 'any' | 'empty' | 'in' | 'notIn' | 'inc' | 'notInc' | 'incAll' | 'notIncAll', required — The comparison operator: - `eq`: Equal to - `neq`: Not equal to - `any`: Matches any value (not null) - `empty`: Is empty or null - `in`: Value is in the list - `notIn`: Value is not in the list - `inc`: Includes substring (**only for**: error_message, titlePath, annotation, tag) - `notInc`: Does not include substring (**only for**: error_message, titlePath, annotation, tag) - `incAll`: Includes all values (**only for**: error_message, titlePath, annotation, tag) - `notIncAll`: Does not include all values (**only for**: error_message, titlePath, annotation, tag)
        - `value` union — The value(s) to match against
          - string
          - string[]
    - `status` 'active' | 'disabled' | 'archived' | 'expired', required — The current status of the action: - `active`: Action is enabled and will be applied to matching tests - `disabled`: Action is temporarily disabled - `archived`: Action has been soft-deleted - `expired`: Action has passed its expiration date
    - `createdAt` string, date-time, required — When the action was created
    - `createdBy` string, required — Email of the user who created the action
    - `updatedAt` string, date-time, nullable
    - `updatedBy` string, nullable
    - `disabledAt` string, date-time, nullable
    - `disabledBy` string, nullable
    - `archivedAt` string, date-time, nullable
    - `archivedBy` string, nullable
    - `expiresAfter` string, date-time, nullable

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication failed
- `404` — Resource not found

---

[API](https://skmtc.dev/currents/apis/currents-rest-api.md) · [All operations](https://skmtc.dev/currents/apis/currents-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/currents/currents-rest-api/revisions/d0e2ed0e7e6a/schema)
