---
title: "Lists all runs for a repository run"
method: GET
path: "/repos/{owner}/{repo}/actions/runs"
tags: ["repository"]
---

# Lists all runs for a repository run

`GET /repos/{owner}/{repo}/actions/runs`

## Request

- Base URL: `https://demo.gitea.com/api/v1`
- URL: `https://demo.gitea.com/api/v1/repos/{owner}/{repo}/actions/runs`
- Auth: one of:
  - HTTP basic
  - API key in query parameter `token`
  - API key in query parameter `access_token`
  - API key in header `Authorization`
  - API key in query parameter `sudo`
  - API key in header `Sudo`
  - API key in header `X-GITEA-OTP`
- TypeScript: <https://skmtc.dev/gitea/apis/gitea-api/docs/repos/:owner/:repo/actions/runs/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `owner` string, required
- `repo` string, required

## Query parameters

- `event` string
- `branch` string
- `status` string
- `actor` string
- `head_sha` string
- `exclude_pull_requests` boolean
- `page` integer
- `limit` integer

## Response `200`

WorkflowRunsList

- ActionWorkflowRunsResponse: ActionWorkflowRunsResponse returns ActionWorkflowRuns
  - `total_count` integer
  - `workflow_runs` ActionWorkflowRun[]
    - `actor` User: User represents a user
      - `active` boolean: Is user active
      - `avatar_url` string: URL to the user's avatar
      - `created` string, date-time
      - `description` string: the user's description
      - `email` string, email
      - `followers_count` integer: user counts
      - `following_count` integer
      - `full_name` string: the user's full name
      - `html_url` string: URL to the user's gitea page
      - `id` integer: the user's id
      - `is_admin` boolean: Is the user an administrator
      - `language` string: User locale
      - `last_login` string, date-time
      - `location` string: the user's location
      - `login` string: login of the user, same as `username`
      - `login_name` string: identifier of the user, provided by the external authenticator (if configured)
      - `prohibit_login` boolean: Is user login prohibited
      - `restricted` boolean: Is user restricted
      - `source_id` integer: The ID of the user's Authentication Source
      - `starred_repos_count` integer
      - `type` 'User' | 'Organization' | 'Bot': the user type
      - `visibility` 'public' | 'limited' | 'private': User visibility level option: public, limited, private
      - `website` string: the user's website
    - `artifacts_url` string
    - `cancel_url` string
    - `completed_at` string, date-time
    - `conclusion` string
    - `created_at` string, date-time
    - `display_title` string
    - `event` string
    - `head_branch` string
    - `head_repository` Repository: Repository represents a repository
      - `allow_fast_forward_only_merge` boolean
      - `allow_manual_merge` boolean
      - `allow_merge_commits` boolean
      - `allow_merge_update` boolean
      - `allow_rebase` boolean
      - `allow_rebase_explicit` boolean
      - `allow_rebase_update` boolean
      - `allow_squash_merge` boolean
      - `archived` boolean
      - `archived_at` string, date-time
      - `autodetect_manual_merge` boolean
      - `avatar_url` string
      - `branch_count` integer
      - `clone_url` string
      - `created_at` string, date-time
      - `default_allow_maintainer_edit` boolean
      - `default_branch` string
      - `default_delete_branch_after_merge` boolean
      - `default_merge_style` string
      - `default_target_branch` string
      - `default_update_style` string
      - `description` string
      - `empty` boolean
      - `external_tracker` ExternalTracker: ExternalTracker represents settings for external tracker
        - `external_tracker_format` string: External Issue Tracker URL Format. Use the placeholders {user}, {repo} and {index} for the username, repository name and issue index.
        - `external_tracker_regexp_pattern` string: External Issue Tracker issue regular expression
        - `external_tracker_style` string: External Issue Tracker Number Format, either `numeric`, `alphanumeric`, or `regexp`
        - `external_tracker_url` string: URL of external issue tracker.
      - `external_wiki` ExternalWiki: ExternalWiki represents setting for external wiki
        - `external_wiki_url` string: URL of external wiki.
      - `fork` boolean
      - `forks_count` integer
      - `full_name` string
      - `has_actions` boolean
      - `has_code` boolean
      - `has_issues` boolean
      - `has_packages` boolean
      - `has_projects` boolean
      - `has_pull_requests` boolean
      - `has_releases` boolean
      - `has_wiki` boolean
      - `html_url` string
      - `id` integer
      - `ignore_whitespace_conflicts` boolean
      - `internal` boolean
      - `internal_tracker` InternalTracker: InternalTracker represents settings for internal tracker
        - `allow_only_contributors_to_track_time` boolean: Let only contributors track time (Built-in issue tracker)
        - `enable_issue_dependencies` boolean: Enable dependencies for issues and pull requests (Built-in issue tracker)
        - `enable_time_tracker` boolean: Enable time tracking (Built-in issue tracker)
      - `language` string
      - `languages_url` string
      - `licenses` string[]
      - `link` string
      - `mirror` boolean
      - `mirror_interval` string
      - `mirror_last_sync_at` string, date-time
      - `mirror_updated` string, date-time
      - `name` string
      - `object_format_name` 'sha1' | 'sha256': ObjectFormatName of the underlying git repository
      - `open_issues_count` integer
      - `open_pr_counter` integer
      - `original_url` string
      - `owner` User: User represents a user
        - `active` boolean: Is user active
        - `avatar_url` string: URL to the user's avatar
        - `created` string, date-time
        - `description` string: the user's description
        - `email` string, email
        - `followers_count` integer: user counts
        - `following_count` integer
        - `full_name` string: the user's full name
        - `html_url` string: URL to the user's gitea page
        - `id` integer: the user's id
        - `is_admin` boolean: Is the user an administrator
        - `language` string: User locale
        - `last_login` string, date-time
        - `location` string: the user's location
        - `login` string: login of the user, same as `username`
        - `login_name` string: identifier of the user, provided by the external authenticator (if configured)
        - `prohibit_login` boolean: Is user login prohibited
        - `restricted` boolean: Is user restricted
        - `source_id` integer: The ID of the user's Authentication Source
        - `starred_repos_count` integer
        - `type` 'User' | 'Organization' | 'Bot': the user type
        - `visibility` 'public' | 'limited' | 'private': User visibility level option: public, limited, private
        - `website` string: the user's website
      - `parent` Repository (recursive)
      - `permissions` Permission: Permission represents a set of permissions
        - `admin` boolean
        - `pull` boolean
        - `push` boolean
      - `private` boolean
      - `projects_mode` string
      - `release_counter` integer
      - `repo_transfer` RepoTransfer: RepoTransfer represents a pending repo transfer
        - `doer` User: User represents a user
          - `active` boolean: Is user active
          - `avatar_url` string: URL to the user's avatar
          - `created` string, date-time
          - `description` string: the user's description
          - `email` string, email
          - `followers_count` integer: user counts
          - `following_count` integer
          - `full_name` string: the user's full name
          - `html_url` string: URL to the user's gitea page
          - `id` integer: the user's id
          - `is_admin` boolean: Is the user an administrator
          - `language` string: User locale
          - `last_login` string, date-time
          - `location` string: the user's location
          - `login` string: login of the user, same as `username`
          - `login_name` string: identifier of the user, provided by the external authenticator (if configured)
          - `prohibit_login` boolean: Is user login prohibited
          - `restricted` boolean: Is user restricted
          - `source_id` integer: The ID of the user's Authentication Source
          - `starred_repos_count` integer
          - `type` 'User' | 'Organization' | 'Bot': the user type
          - `visibility` 'public' | 'limited' | 'private': User visibility level option: public, limited, private
          - `website` string: the user's website
        - `recipient` User: User represents a user
          - `active` boolean: Is user active
          - `avatar_url` string: URL to the user's avatar
          - `created` string, date-time
          - `description` string: the user's description
          - `email` string, email
          - `followers_count` integer: user counts
          - `following_count` integer
          - `full_name` string: the user's full name
          - `html_url` string: URL to the user's gitea page
          - `id` integer: the user's id
          - `is_admin` boolean: Is the user an administrator
          - `language` string: User locale
          - `last_login` string, date-time
          - `location` string: the user's location
          - `login` string: login of the user, same as `username`
          - `login_name` string: identifier of the user, provided by the external authenticator (if configured)
          - `prohibit_login` boolean: Is user login prohibited
          - `restricted` boolean: Is user restricted
          - `source_id` integer: The ID of the user's Authentication Source
          - `starred_repos_count` integer
          - `type` 'User' | 'Organization' | 'Bot': the user type
          - `visibility` 'public' | 'limited' | 'private': User visibility level option: public, limited, private
          - `website` string: the user's website
        - `teams` Team[]
          - `can_create_org_repo` boolean: Whether the team can create repositories in the organization
          - `description` string: The description of the team
          - `id` integer: The unique identifier of the team
          - `includes_all_repositories` boolean: Whether the team has access to all repositories in the organization
          - `name` string: The name of the team
          - `organization` Organization: Organization represents an organization
            - `avatar_url` string: The URL of the organization's avatar
            - `description` string: The description of the organization
            - `email` string: The email address of the organization
            - `full_name` string: The full display name of the organization
            - `id` integer: The unique identifier of the organization
            - `location` string: The location of the organization
            - `name` string: The name of the organization
            - `repo_admin_change_team_access` boolean: Whether repository administrators can change team access
            - `username` string: username of the organization deprecated
            - `visibility` 'public' | 'limited' | 'private': The visibility level of the organization (public, limited, private)
            - `website` string: The website URL of the organization
          - `permission` 'none' | 'read' | 'write' | 'admin' | 'owner'
          - `units` string[]: Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
          - `units_map` object
          - `visibility` 'public' | 'limited' | 'private': Team visibility within the organization. "private" teams are only listable by members and org owners; "limited" teams are listable by any organization member; "public" teams are listable by any signed-in user.
      - `size` integer
      - `squash_merge_commit_message` string
      - `ssh_url` string
      - `stars_count` integer
      - `template` boolean
      - `topics` string[]
      - `updated_at` string, date-time
      - `url` string
      - `watchers_count` integer
      - `website` string
    - `head_sha` string
    - `html_url` string
    - `id` integer
    - `jobs_url` string
    - `logs_url` string
    - `path` string
    - `previous_attempt_url` string: PreviousAttemptURL is the API URL of the previous attempt of this run, e.g. ".../actions/runs/{run_id}/attempts/{attempt-1}". It is set only when the current attempt is > 1 (i.e. a rerun). For the first attempt, or for legacy runs that pre-date ActionRunAttempt, it is null.
    - `pull_requests` PullRequestMinimal[]
      - `base` PullRequestMinimalHead
        - `ref` string
        - `repo` PullRequestMinimalHeadRepo
          - `id` integer
          - `name` string
          - `url` string
        - `sha` string
      - `head` PullRequestMinimalHead
        - `ref` string
        - `repo` PullRequestMinimalHeadRepo
          - `id` integer
          - `name` string
          - `url` string
        - `sha` string
      - `id` integer
      - `number` integer
      - `url` string
    - `repository` Repository: Repository represents a repository
      - `allow_fast_forward_only_merge` boolean
      - `allow_manual_merge` boolean
      - `allow_merge_commits` boolean
      - `allow_merge_update` boolean
      - `allow_rebase` boolean
      - `allow_rebase_explicit` boolean
      - `allow_rebase_update` boolean
      - `allow_squash_merge` boolean
      - `archived` boolean
      - `archived_at` string, date-time
      - `autodetect_manual_merge` boolean
      - `avatar_url` string
      - `branch_count` integer
      - `clone_url` string
      - `created_at` string, date-time
      - `default_allow_maintainer_edit` boolean
      - `default_branch` string
      - `default_delete_branch_after_merge` boolean
      - `default_merge_style` string
      - `default_target_branch` string
      - `default_update_style` string
      - `description` string
      - `empty` boolean
      - `external_tracker` ExternalTracker: ExternalTracker represents settings for external tracker
        - `external_tracker_format` string: External Issue Tracker URL Format. Use the placeholders {user}, {repo} and {index} for the username, repository name and issue index.
        - `external_tracker_regexp_pattern` string: External Issue Tracker issue regular expression
        - `external_tracker_style` string: External Issue Tracker Number Format, either `numeric`, `alphanumeric`, or `regexp`
        - `external_tracker_url` string: URL of external issue tracker.
      - `external_wiki` ExternalWiki: ExternalWiki represents setting for external wiki
        - `external_wiki_url` string: URL of external wiki.
      - `fork` boolean
      - `forks_count` integer
      - `full_name` string
      - `has_actions` boolean
      - `has_code` boolean
      - `has_issues` boolean
      - `has_packages` boolean
      - `has_projects` boolean
      - `has_pull_requests` boolean
      - `has_releases` boolean
      - `has_wiki` boolean
      - `html_url` string
      - `id` integer
      - `ignore_whitespace_conflicts` boolean
      - `internal` boolean
      - `internal_tracker` InternalTracker: InternalTracker represents settings for internal tracker
        - `allow_only_contributors_to_track_time` boolean: Let only contributors track time (Built-in issue tracker)
        - `enable_issue_dependencies` boolean: Enable dependencies for issues and pull requests (Built-in issue tracker)
        - `enable_time_tracker` boolean: Enable time tracking (Built-in issue tracker)
      - `language` string
      - `languages_url` string
      - `licenses` string[]
      - `link` string
      - `mirror` boolean
      - `mirror_interval` string
      - `mirror_last_sync_at` string, date-time
      - `mirror_updated` string, date-time
      - `name` string
      - `object_format_name` 'sha1' | 'sha256': ObjectFormatName of the underlying git repository
      - `open_issues_count` integer
      - `open_pr_counter` integer
      - `original_url` string
      - `owner` User: User represents a user
        - `active` boolean: Is user active
        - `avatar_url` string: URL to the user's avatar
        - `created` string, date-time
        - `description` string: the user's description
        - `email` string, email
        - `followers_count` integer: user counts
        - `following_count` integer
        - `full_name` string: the user's full name
        - `html_url` string: URL to the user's gitea page
        - `id` integer: the user's id
        - `is_admin` boolean: Is the user an administrator
        - `language` string: User locale
        - `last_login` string, date-time
        - `location` string: the user's location
        - `login` string: login of the user, same as `username`
        - `login_name` string: identifier of the user, provided by the external authenticator (if configured)
        - `prohibit_login` boolean: Is user login prohibited
        - `restricted` boolean: Is user restricted
        - `source_id` integer: The ID of the user's Authentication Source
        - `starred_repos_count` integer
        - `type` 'User' | 'Organization' | 'Bot': the user type
        - `visibility` 'public' | 'limited' | 'private': User visibility level option: public, limited, private
        - `website` string: the user's website
      - `parent` Repository (recursive)
      - `permissions` Permission: Permission represents a set of permissions
        - `admin` boolean
        - `pull` boolean
        - `push` boolean
      - `private` boolean
      - `projects_mode` string
      - `release_counter` integer
      - `repo_transfer` RepoTransfer: RepoTransfer represents a pending repo transfer
        - `doer` User: User represents a user
          - `active` boolean: Is user active
          - `avatar_url` string: URL to the user's avatar
          - `created` string, date-time
          - `description` string: the user's description
          - `email` string, email
          - `followers_count` integer: user counts
          - `following_count` integer
          - `full_name` string: the user's full name
          - `html_url` string: URL to the user's gitea page
          - `id` integer: the user's id
          - `is_admin` boolean: Is the user an administrator
          - `language` string: User locale
          - `last_login` string, date-time
          - `location` string: the user's location
          - `login` string: login of the user, same as `username`
          - `login_name` string: identifier of the user, provided by the external authenticator (if configured)
          - `prohibit_login` boolean: Is user login prohibited
          - `restricted` boolean: Is user restricted
          - `source_id` integer: The ID of the user's Authentication Source
          - `starred_repos_count` integer
          - `type` 'User' | 'Organization' | 'Bot': the user type
          - `visibility` 'public' | 'limited' | 'private': User visibility level option: public, limited, private
          - `website` string: the user's website
        - `recipient` User: User represents a user
          - `active` boolean: Is user active
          - `avatar_url` string: URL to the user's avatar
          - `created` string, date-time
          - `description` string: the user's description
          - `email` string, email
          - `followers_count` integer: user counts
          - `following_count` integer
          - `full_name` string: the user's full name
          - `html_url` string: URL to the user's gitea page
          - `id` integer: the user's id
          - `is_admin` boolean: Is the user an administrator
          - `language` string: User locale
          - `last_login` string, date-time
          - `location` string: the user's location
          - `login` string: login of the user, same as `username`
          - `login_name` string: identifier of the user, provided by the external authenticator (if configured)
          - `prohibit_login` boolean: Is user login prohibited
          - `restricted` boolean: Is user restricted
          - `source_id` integer: The ID of the user's Authentication Source
          - `starred_repos_count` integer
          - `type` 'User' | 'Organization' | 'Bot': the user type
          - `visibility` 'public' | 'limited' | 'private': User visibility level option: public, limited, private
          - `website` string: the user's website
        - `teams` Team[]
          - `can_create_org_repo` boolean: Whether the team can create repositories in the organization
          - `description` string: The description of the team
          - `id` integer: The unique identifier of the team
          - `includes_all_repositories` boolean: Whether the team has access to all repositories in the organization
          - `name` string: The name of the team
          - `organization` Organization: Organization represents an organization
            - `avatar_url` string: The URL of the organization's avatar
            - `description` string: The description of the organization
            - `email` string: The email address of the organization
            - `full_name` string: The full display name of the organization
            - `id` integer: The unique identifier of the organization
            - `location` string: The location of the organization
            - `name` string: The name of the organization
            - `repo_admin_change_team_access` boolean: Whether repository administrators can change team access
            - `username` string: username of the organization deprecated
            - `visibility` 'public' | 'limited' | 'private': The visibility level of the organization (public, limited, private)
            - `website` string: The website URL of the organization
          - `permission` 'none' | 'read' | 'write' | 'admin' | 'owner'
          - `units` string[]: Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
          - `units_map` object
          - `visibility` 'public' | 'limited' | 'private': Team visibility within the organization. "private" teams are only listable by members and org owners; "limited" teams are listable by any organization member; "public" teams are listable by any signed-in user.
      - `size` integer
      - `squash_merge_commit_message` string
      - `ssh_url` string
      - `stars_count` integer
      - `template` boolean
      - `topics` string[]
      - `updated_at` string, date-time
      - `url` string
      - `watchers_count` integer
      - `website` string
    - `repository_id` integer
    - `rerun_url` string
    - `run_attempt` integer: RunAttempt is 1-based for runs created after ActionRunAttempt was introduced. A value of 0 is a legacy-only sentinel for runs created before attempts existed and indicates no corresponding /attempts/{n} resource is available.
    - `run_number` integer
    - `started_at` string, date-time
    - `status` string
    - `trigger_actor` User: User represents a user
      - `active` boolean: Is user active
      - `avatar_url` string: URL to the user's avatar
      - `created` string, date-time
      - `description` string: the user's description
      - `email` string, email
      - `followers_count` integer: user counts
      - `following_count` integer
      - `full_name` string: the user's full name
      - `html_url` string: URL to the user's gitea page
      - `id` integer: the user's id
      - `is_admin` boolean: Is the user an administrator
      - `language` string: User locale
      - `last_login` string, date-time
      - `location` string: the user's location
      - `login` string: login of the user, same as `username`
      - `login_name` string: identifier of the user, provided by the external authenticator (if configured)
      - `prohibit_login` boolean: Is user login prohibited
      - `restricted` boolean: Is user restricted
      - `source_id` integer: The ID of the user's Authentication Source
      - `starred_repos_count` integer
      - `type` 'User' | 'Organization' | 'Bot': the user type
      - `visibility` 'public' | 'limited' | 'private': User visibility level option: public, limited, private
      - `website` string: the user's website
    - `updated_at` string, date-time
    - `url` string

## Other responses

- `default`: APIError is error format response

## Changes

- **2026-10-28** `7ef50c4c527f`: 2 info
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `404`
- **2026-07-13** `4df6be504c96`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gitea/apis/gitea-api/changes/repos/:owner/:repo/actions/runs/get.md)

---

[API](https://skmtc.dev/gitea/apis/gitea-api.md) - [All operations](https://skmtc.dev/gitea/apis/gitea-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gitea/apis/gitea-api/revisions/7ef50c4c527f?raw)
