Skip to content

Get the repository's pipeline list

GET /api/v8/repos/{owner}/{repo}/actions/workflows

Get the list of pipelines (workflows) in the specified repository, with pagination and fuzzy filtering by pipeline name.

Access token support

  • AtomGit user access tokens

Anonymous access

This endpoint allows anonymous access.

Request parameters

Parameter Location Type Required Description
owner path string Yes Address path of the namespace that owns the repository (organization or personal address path)
repo path string Yes Repository path (path)
per_page query integer No Number of items per page, maximum 100, default 20
page query integer No Current page number, default 1
workflow_name query string No Pipeline (workflow) name, fuzzy match

Response parameters

Field Type Always returned Nullable Description
total_count integer Yes No Total count
workflows object[] Yes No Pipeline list

workflows array element

Field Type Always returned Nullable Description
workflow_id string Yes No Pipeline ID
file_path string Yes No Pipeline configuration file
name string Yes No Pipeline name
state string Yes No Pipeline state

Error responses

This endpoint has no business failure response.

HTTP response status codes

Status code Description
200 Success (OK)
401 Requires authentication
403 Forbidden
404 Not found
429 Too many requests; rate limit triggered
500 Internal server error

Request example

Parameter notes

<owner> is replaced with the address path of the namespace that owns the repository (organization or personal address path); <repo> is replaced with the repository path (path).

This endpoint allows anonymous access; no token is needed in the example. If authentication is required, you can also append <token> (an AtomGit user access token) to the query parameters.

cURL

curl -X GET 'https://api.atomgit.com/api/v8/repos/<owner>/<repo>/actions/workflows?per_page=20&page=1' \
  -H 'Accept: application/json'

JavaScript

// Native fetch (Node.js 18+ / browser)
const response = await fetch(
  "https://api.atomgit.com/api/v8/repos/<owner>/<repo>/actions/workflows?per_page=20&page=1",
  {
    headers: {
      "Accept": "application/json",
    },
  }
);

if (!response.ok) {
  throw new Error(`Request failed: ${response.status}`);
}

const data = await response.json();
console.log(data);

Python

import requests

resp = requests.get(
    "https://api.atomgit.com/api/v8/repos/<owner>/<repo>/actions/workflows",
    params={"per_page": 20, "page": 1},
    headers={
        "Accept": "application/json",
    },
    timeout=10,
)
resp.raise_for_status()

print(resp.json())

Response example

Status code: 200

{
  "total_count": 0,
  "workflows": [
    {
      "workflow_id": "string",
      "file_path": "string",
      "name": "string",
      "state": "string"
    }
  ]
}

Error codes

Error code Description
401 Unauthenticated or invalid credentials (missing or invalid access token)
403 Forbidden
404 The request path does not exist
429 Too many requests; rate limit triggered
500 Internal server error

Markdown source: View on AtomGit·Content from the open-source project gitcode-dev/atomgit-api-doc