---
title: "List GitHub data sources"
method: GET
path: "/githubs"
tags: ["githubs"]
---

# List GitHub data sources

`GET /githubs`

Lists GitHub data sources with cursor-based pagination.

Required roles: All

## Query parameters

- `limit` integer
- `after_id` string, uuid

## Response `200`

Successful retrieval of GitHub data sources

- ListGitHubsResponse
  - `githubs` GitHub[], required
    - `id` string, required — GitHub data source ID
    - `ingestion_setting_id` string, required — GitHub ingestion setting ID
    - `name` string, required — Name of the GitHub ingestion setting
    - `repository` string, required — GitHub repository in owner/repo format (e.g. "octocat/Hello-World")
    - `path_filters` string[] — Path filter patterns
    - `reference_type` 'default' | 'branch' | 'tag' | 'commit', required — Git reference type
    - `reference_param` string — Reference parameter (branch name, tag name, or commit hash)
    - `creation_time` integer — Creation time (Unix timestamp in seconds)
    - `status` 'unknown' | 'queued' | 'not_started' | 'managed' | 'starting' | 'started' | 'success' | 'failure' | 'canceling' | 'canceled' | 'deleting' | 'delete_job_failure', required — Job status
    - `start_time` integer — Job start time (Unix timestamp in seconds)
    - `end_time` integer — Job end time (Unix timestamp in seconds)
    - `error` JobError, nullable
      - `title` string — Error title
      - `message` string — Error message
    - `metadata` Metadata
      - `records` MetadataRecord[] — List of metadata records. A patch may contain up to 40 items; the merged result is capped at 20.
        - `key` string, required — Metadata key (max 20 characters)
        - `val` unknown, required
        - `type` 'string' | 'integer' | 'float' | 'date' | 'datetime' — Data type of the metadata value
  - `pagination` Pagination, required
    - `total` integer — Total number of items
    - `limit` integer, required — Maximum number of items per page
    - `has_more` boolean, required — Whether there are more items after this page
    - `next_id` string, uuid, nullable — ID to pass as after_id for next page (null if has_more=false)

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error

---

[API](https://skmtc.net/qlonolink/apis/qaip-apis.md) · [All operations](https://skmtc.net/qlonolink/apis/qaip-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qlonolink/qaip-apis/revisions/f5f5994dfe05/schema)
