Skip to main content

Github full reference

This is the full reference documentation for the Github agent connector.

Supported entities and actions

The Github connector supports the following entities and actions.

EntityActions
RepositoriesGet, List, API Search, Context Store Search
Org RepositoriesList, Context Store Search
BranchesList, Get, Context Store Search
CommitsList, Get, Context Store Search
ReleasesList, Get, Context Store Search
IssuesList, Get, API Search, Create, Update, Context Store Search
CommentsCreate, List, Get, Context Store Search
Pull RequestsCreate, List, Get, API Search, Context Store Search
ReviewsList, Context Store Search
Pr CommentsList, Get, Context Store Search
LabelsList, Get, Context Store Search
MilestonesList, Get, Context Store Search
OrganizationsGet, List, Context Store Search
UsersGet, List, API Search, Context Store Search
TeamsList, Get, Context Store Search
TagsList, Get, Context Store Search
StargazersList, Context Store Search
ViewerGet, Context Store Search
Viewer RepositoriesList, Context Store Search
ProjectsList, Get, Context Store Search
Project ItemsList, Context Store Search
DiscussionsList, Get, API Search, Context Store Search
File ContentGet, Context Store Search
Directory ContentList, Context Store Search

Repositories

Repositories Get

Gets information about a specific GitHub repository using GraphQL

Python SDK

await github.repositories.get(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "repositories",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository (username or organization)
repostringYesThe name of the repository
fieldsarray<string>NoOptional array of field names to select.
If not provided, uses default fields.

Repositories List

Returns a list of repositories for the specified user using GraphQL

Python SDK

await github.repositories.list(
username="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "repositories",
"action": "list",
"params": {
"username": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
usernamestringYesThe username of the user whose repositories to list
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination (from previous response's endCursor)
fieldsarray<string>NoOptional array of field names to select.
If not provided, uses default fields.
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Search for GitHub repositories using GitHub's powerful search syntax. Examples: "language:python stars:>1000", "topic:machine-learning", "org:facebook is:public"

Python SDK

await github.repositories.api_search(
query="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "repositories",
"action": "api_search",
"params": {
"query": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
querystringYesGitHub repository search query using GitHub's search syntax
limitintegerNoNumber of results to return
afterstringNoCursor for pagination (from previous response's endCursor)
fieldsarray<string>NoOptional array of field names to select.
If not provided, uses default fields.
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null
total_countinteger

Search and filter repositories records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.repositories.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "repositories",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the repository
namestringShort repository name (without owner)
nameWithOwnerstringFully-qualified owner/name identifier for the repository
descriptionstringShort description of the repository
urlstringCanonical GitHub URL for the repository
createdAtstringISO 8601 timestamp when the repository was created
updatedAtstringISO 8601 timestamp when the repository was last updated
pushedAtstringISO 8601 timestamp of the most recent push to the repository
forkCountintegerNumber of forks of the repository
stargazerCountintegerNumber of users who have starred the repository
isPrivatebooleanWhether the repository is private
isForkbooleanWhether the repository is a fork of another repository
isArchivedbooleanWhether the repository has been archived
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the repository
data[].namestringShort repository name (without owner)
data[].nameWithOwnerstringFully-qualified owner/name identifier for the repository
data[].descriptionstringShort description of the repository
data[].urlstringCanonical GitHub URL for the repository
data[].createdAtstringISO 8601 timestamp when the repository was created
data[].updatedAtstringISO 8601 timestamp when the repository was last updated
data[].pushedAtstringISO 8601 timestamp of the most recent push to the repository
data[].forkCountintegerNumber of forks of the repository
data[].stargazerCountintegerNumber of users who have starred the repository
data[].isPrivatebooleanWhether the repository is private
data[].isForkbooleanWhether the repository is a fork of another repository
data[].isArchivedbooleanWhether the repository has been archived

Org Repositories

Org Repositories List

Returns a list of repositories for the specified organization using GraphQL

Python SDK

await github.org_repositories.list(
org="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "org_repositories",
"action": "list",
"params": {
"org": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
orgstringYesThe organization login/username
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Search and filter org repositories records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.org_repositories.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "org_repositories",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Branches

Branches List

Returns a list of branches for the specified repository using GraphQL

Python SDK

await github.branches.list(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "branches",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Branches Get

Gets information about a specific branch using GraphQL

Python SDK

await github.branches.get(
owner="<str>",
repo="<str>",
branch="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "branches",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"branch": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
branchstringYesThe branch name
fieldsarray<string>NoOptional array of field names to select

Search and filter branches records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.branches.context_store_search(
query={"filter": {"eq": {"name": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "branches",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"name": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
namestringBranch name (e.g. main, feature/foo)
prefixstringGit ref prefix for the branch (typically refs/heads/)
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].namestringBranch name (e.g. main, feature/foo)
data[].prefixstringGit ref prefix for the branch (typically refs/heads/)

Commits

Commits List

Returns a list of commits for the default branch using GraphQL

Python SDK

await github.commits.list(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "commits",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
pathstringNoOnly include commits that modified this file path (e.g. "airbyte-integrations/connectors/source-stripe/")
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Commits Get

Gets information about a specific commit by SHA using GraphQL

Python SDK

await github.commits.get(
owner="<str>",
repo="<str>",
sha="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "commits",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"sha": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
shastringYesThe commit SHA
fieldsarray<string>NoOptional array of field names to select

Search and filter commits records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.commits.context_store_search(
query={"filter": {"eq": {"oid": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "commits",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"oid": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
oidstringFull Git commit SHA
abbreviatedOidstringAbbreviated Git commit SHA (typically 7 characters)
messageHeadlinestringFirst line of the commit message
messagestringFull commit message
committedDatestringISO 8601 timestamp when the commit was applied to its tree
authoredDatestringISO 8601 timestamp when the commit was originally authored
additionsintegerNumber of lines added across all files in the commit
deletionsintegerNumber of lines deleted across all files in the commit
changedFilesintegerNumber of files changed in the commit
urlstringPermalink to the commit on GitHub
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].oidstringFull Git commit SHA
data[].abbreviatedOidstringAbbreviated Git commit SHA (typically 7 characters)
data[].messageHeadlinestringFirst line of the commit message
data[].messagestringFull commit message
data[].committedDatestringISO 8601 timestamp when the commit was applied to its tree
data[].authoredDatestringISO 8601 timestamp when the commit was originally authored
data[].additionsintegerNumber of lines added across all files in the commit
data[].deletionsintegerNumber of lines deleted across all files in the commit
data[].changedFilesintegerNumber of files changed in the commit
data[].urlstringPermalink to the commit on GitHub

Releases

Releases List

Returns a list of releases for the specified repository using GraphQL

Python SDK

await github.releases.list(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "releases",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Releases Get

Gets information about a specific release by tag name using GraphQL

Python SDK

await github.releases.get(
owner="<str>",
repo="<str>",
tag="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "releases",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"tag": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
tagstringYesThe release tag name
fieldsarray<string>NoOptional array of field names to select

Search and filter releases records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.releases.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "releases",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the release
databaseIdintegerREST API numeric identifier for the release
namestringDisplay name of the release
tagNamestringGit tag the release points at (e.g. v1.2.3)
descriptionstringMarkdown body / release notes
publishedAtstringISO 8601 timestamp when the release was published
createdAtstringISO 8601 timestamp when the release was created
isPrereleasebooleanWhether the release is marked as a pre-release
isDraftbooleanWhether the release is still a draft and not published
urlstringPermalink to the release on GitHub
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the release
data[].databaseIdintegerREST API numeric identifier for the release
data[].namestringDisplay name of the release
data[].tagNamestringGit tag the release points at (e.g. v1.2.3)
data[].descriptionstringMarkdown body / release notes
data[].publishedAtstringISO 8601 timestamp when the release was published
data[].createdAtstringISO 8601 timestamp when the release was created
data[].isPrereleasebooleanWhether the release is marked as a pre-release
data[].isDraftbooleanWhether the release is still a draft and not published
data[].urlstringPermalink to the release on GitHub

Issues

Issues List

Returns a list of issues for the specified repository using GraphQL

Python SDK

await github.issues.list(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
statesarray<"OPEN" | "CLOSED">NoFilter by issue state
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Issues Get

Gets information about a specific issue using GraphQL

Python SDK

await github.issues.get(
owner="<str>",
repo="<str>",
number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
numberintegerYesThe issue number
fieldsarray<string>NoOptional array of field names to select

Search for issues using GitHub's search syntax

Python SDK

await github.issues.api_search(
query="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "api_search",
"params": {
"query": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
querystringYesGitHub issue search query using GitHub's search syntax
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null
total_countinteger

Issues Create

Creates a new issue in the specified repository. Any user with pull access to a repository can create an issue. Labels and assignees are silently dropped if the authenticated user does not have push access.

Python SDK

await github.issues.create(
title="<str>",
body="<str>",
labels=[],
assignees=[],
milestone=0,
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "create",
"params": {
"title": "<str>",
"body": "<str>",
"labels": [],
"assignees": [],
"milestone": 0,
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
titlestringYesThe title of the issue
bodystringNoThe contents of the issue (supports Markdown)
labelsarray<string>NoLabels to associate with this issue (requires push access)
assigneesarray<string>NoLogins for users to assign to this issue (requires push access)
milestoneinteger | nullNoThe number of the milestone to associate this issue with (requires push access)
ownerstringYesThe account owner of the repository (username or organization)
repostringYesThe name of the repository
Response Schema

Records

Field NameTypeDescription
idinteger
node_idstring
urlstring
repository_urlstring
labels_urlstring
comments_urlstring
events_urlstring
html_urlstring
numberinteger
statestring
state_reasonstring | null
titlestring
bodystring | null
userobject | null
labelsarray<object>
assigneesarray<object>
milestoneobject | null
lockedboolean
commentsinteger
closed_atstring | null
created_atstring
updated_atstring
author_associationstring
active_lock_reasonstring | null
closed_byobject | null
timeline_urlstring
performed_via_github_appobject | null
assigneeobject | null
reactionsobject
sub_issues_summaryobject
typeobject | null
pinned_commentobject | null
issue_field_valuesarray<object>
issue_dependencies_summaryobject

Issues Update

Updates an existing issue in the specified repository. Use this to close/reopen issues, change title/body, add/remove labels, assign users, or set milestones. Any user with push access can update an issue.

Python SDK

await github.issues.update(
title="<str>",
body="<str>",
state="<str>",
state_reason="<str>",
labels=[],
assignees=[],
milestone=0,
owner="<str>",
repo="<str>",
issue_number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "update",
"params": {
"title": "<str>",
"body": "<str>",
"state": "<str>",
"state_reason": "<str>",
"labels": [],
"assignees": [],
"milestone": 0,
"owner": "<str>",
"repo": "<str>",
"issue_number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
titlestringNoThe title of the issue
bodystringNoThe contents of the issue (supports Markdown)
state"open" | "closed"NoState of the issue: open or closed
state_reasonstring | nullNoReason for the state change: completed, not_planned, reopened, or null
labelsarray<string>NoLabels to set on this issue (replaces all existing labels; requires push access)
assigneesarray<string>NoLogins for users to assign to this issue (replaces all existing assignees; requires push access)
milestoneinteger | nullNoThe number of the milestone to associate this issue with, or null to remove the milestone (requires push access)
ownerstringYesThe account owner of the repository (username or organization)
repostringYesThe name of the repository
issue_numberintegerYesThe number that identifies the issue
Response Schema

Records

Field NameTypeDescription
idinteger
node_idstring
urlstring
repository_urlstring
labels_urlstring
comments_urlstring
events_urlstring
html_urlstring
numberinteger
statestring
state_reasonstring | null
titlestring
bodystring | null
userobject | null
labelsarray<object>
assigneesarray<object>
milestoneobject | null
lockedboolean
commentsinteger
closed_atstring | null
created_atstring
updated_atstring
author_associationstring
active_lock_reasonstring | null
closed_byobject | null
timeline_urlstring
performed_via_github_appobject | null
assigneeobject | null
reactionsobject
sub_issues_summaryobject
typeobject | null
pinned_commentobject | null
issue_field_valuesarray<object>
issue_dependencies_summaryobject

Search and filter issues records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.issues.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "issues",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the issue
databaseIdintegerREST API numeric identifier for the issue
numberintegerRepository-scoped issue number
titlestringIssue title
statestringIssue state: OPEN or CLOSED
stateReasonstringReason the issue is in its current state (e.g. COMPLETED, NOT_PLANNED)
createdAtstringISO 8601 timestamp when the issue was created
updatedAtstringISO 8601 timestamp when the issue was last updated
closedAtstringISO 8601 timestamp when the issue was closed, if applicable
lockedbooleanWhether the conversation on the issue is locked
urlstringPermalink to the issue on GitHub
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the issue
data[].databaseIdintegerREST API numeric identifier for the issue
data[].numberintegerRepository-scoped issue number
data[].titlestringIssue title
data[].statestringIssue state: OPEN or CLOSED
data[].stateReasonstringReason the issue is in its current state (e.g. COMPLETED, NOT_PLANNED)
data[].createdAtstringISO 8601 timestamp when the issue was created
data[].updatedAtstringISO 8601 timestamp when the issue was last updated
data[].closedAtstringISO 8601 timestamp when the issue was closed, if applicable
data[].lockedbooleanWhether the conversation on the issue is locked
data[].urlstringPermalink to the issue on GitHub

Comments

Comments Create

Creates a comment on the specified issue. This endpoint works for both issues and pull requests, since pull requests are issues. Any user with read access can create a comment.

Python SDK

await github.comments.create(
body="<str>",
owner="<str>",
repo="<str>",
issue_number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "create",
"params": {
"body": "<str>",
"owner": "<str>",
"repo": "<str>",
"issue_number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
bodystringYesThe contents of the comment (supports Markdown)
ownerstringYesThe account owner of the repository (username or organization)
repostringYesThe name of the repository
issue_numberintegerYesThe number that identifies the issue or pull request
Response Schema

Records

Field NameTypeDescription
idinteger
node_idstring
urlstring
html_urlstring
bodystring
userobject | null
created_atstring
updated_atstring
issue_urlstring
author_associationstring
performed_via_github_appobject | null
reactionsobject

Comments List

Returns a list of comments for the specified issue using GraphQL

Python SDK

await github.comments.list(
owner="<str>",
repo="<str>",
number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
numberintegerYesThe issue number
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Comments Get

Gets information about a specific issue comment by its GraphQL node ID.

Note: This endpoint requires a GraphQL node ID (e.g., 'IC_kwDOBZtLds6YWTMj'), not a numeric database ID. You can obtain node IDs from the Comments_List response, where each comment includes both 'id' (node ID) and 'databaseId' (numeric ID).

Python SDK

await github.comments.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesThe GraphQL node ID of the comment
fieldsarray<string>NoOptional array of field names to select

Search and filter comments records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.comments.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "comments",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the comment
databaseIdintegerREST API numeric identifier for the comment
bodystringMarkdown body of the comment
createdAtstringISO 8601 timestamp when the comment was created
updatedAtstringISO 8601 timestamp when the comment was last updated
urlstringPermalink to the comment on GitHub
isMinimizedbooleanWhether the comment has been hidden/collapsed
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the comment
data[].databaseIdintegerREST API numeric identifier for the comment
data[].bodystringMarkdown body of the comment
data[].createdAtstringISO 8601 timestamp when the comment was created
data[].updatedAtstringISO 8601 timestamp when the comment was last updated
data[].urlstringPermalink to the comment on GitHub
data[].isMinimizedbooleanWhether the comment has been hidden/collapsed

Pull Requests

Pull Requests Create

Creates a new pull request in the specified repository. To open or update a pull request in a public repository, you must have write access to the head or the source branch.

Python SDK

await github.pull_requests.create(
title="<str>",
head="<str>",
base="<str>",
body="<str>",
draft=True,
maintainer_can_modify=True,
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pull_requests",
"action": "create",
"params": {
"title": "<str>",
"head": "<str>",
"base": "<str>",
"body": "<str>",
"draft": True,
"maintainer_can_modify": True,
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
titlestringYesThe title of the new pull request
headstringYesThe name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace head with a user like this: username:branch
basestringYesThe name of the branch you want the changes pulled into (e.g. main)
bodystringNoThe contents of the pull request (supports Markdown)
draftbooleanNoIndicates whether the pull request is a draft
maintainer_can_modifybooleanNoIndicates whether maintainers can modify the pull request
ownerstringYesThe account owner of the repository (username or organization)
repostringYesThe name of the repository
Response Schema

Records

Field NameTypeDescription
idinteger
node_idstring
urlstring
html_urlstring
diff_urlstring
patch_urlstring
numberinteger
statestring
lockedboolean
titlestring
bodystring | null
userobject | null
created_atstring
updated_atstring
closed_atstring | null
merged_atstring | null
merge_commit_shastring | null
draftboolean
headobject
baseobject
author_associationstring
labelsarray<object>
milestoneobject | null
assigneesarray<object>
requested_reviewersarray<object>
commentsinteger
review_commentsinteger
commitsinteger
additionsinteger
deletionsinteger
changed_filesinteger

Pull Requests List

Returns a list of pull requests for the specified repository using GraphQL

Python SDK

await github.pull_requests.list(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pull_requests",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
statesarray<"OPEN" | "CLOSED" | "MERGED">NoFilter by pull request state
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Pull Requests Get

Gets information about a specific pull request using GraphQL

Python SDK

await github.pull_requests.get(
owner="<str>",
repo="<str>",
number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pull_requests",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
numberintegerYesThe pull request number
fieldsarray<string>NoOptional array of field names to select

Search for pull requests using GitHub's search syntax

Python SDK

await github.pull_requests.api_search(
query="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pull_requests",
"action": "api_search",
"params": {
"query": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
querystringYesGitHub pull request search query using GitHub's search syntax
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null
total_countinteger

Search and filter pull requests records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.pull_requests.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pull_requests",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the pull request
databaseIdintegerREST API numeric identifier for the pull request
numberintegerRepository-scoped pull request number
titlestringPull request title
statestringPull request state: OPEN, CLOSED, or MERGED
isDraftbooleanWhether the pull request is still a draft
mergedbooleanWhether the pull request has been merged
createdAtstringISO 8601 timestamp when the pull request was created
updatedAtstringISO 8601 timestamp when the pull request was last updated
closedAtstringISO 8601 timestamp when the pull request was closed, if applicable
mergedAtstringISO 8601 timestamp when the pull request was merged, if applicable
baseRefNamestringName of the branch being merged into
headRefNamestringName of the branch with the proposed changes
urlstringPermalink to the pull request on GitHub
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the pull request
data[].databaseIdintegerREST API numeric identifier for the pull request
data[].numberintegerRepository-scoped pull request number
data[].titlestringPull request title
data[].statestringPull request state: OPEN, CLOSED, or MERGED
data[].isDraftbooleanWhether the pull request is still a draft
data[].mergedbooleanWhether the pull request has been merged
data[].createdAtstringISO 8601 timestamp when the pull request was created
data[].updatedAtstringISO 8601 timestamp when the pull request was last updated
data[].closedAtstringISO 8601 timestamp when the pull request was closed, if applicable
data[].mergedAtstringISO 8601 timestamp when the pull request was merged, if applicable
data[].baseRefNamestringName of the branch being merged into
data[].headRefNamestringName of the branch with the proposed changes
data[].urlstringPermalink to the pull request on GitHub

Reviews

Reviews List

Returns a list of reviews for the specified pull request using GraphQL

Python SDK

await github.reviews.list(
owner="<str>",
repo="<str>",
number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "reviews",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
numberintegerYesThe pull request number
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Search and filter reviews records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.reviews.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "reviews",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the review
databaseIdintegerREST API numeric identifier for the review
statestringReview state: PENDING, COMMENTED, APPROVED, CHANGES_REQUESTED, or DISMISSED
bodystringReview body text
submittedAtstringISO 8601 timestamp when the review was submitted
createdAtstringISO 8601 timestamp when the review was created
updatedAtstringISO 8601 timestamp when the review was last updated
urlstringPermalink to the review on GitHub
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the review
data[].databaseIdintegerREST API numeric identifier for the review
data[].statestringReview state: PENDING, COMMENTED, APPROVED, CHANGES_REQUESTED, or DISMISSED
data[].bodystringReview body text
data[].submittedAtstringISO 8601 timestamp when the review was submitted
data[].createdAtstringISO 8601 timestamp when the review was created
data[].updatedAtstringISO 8601 timestamp when the review was last updated
data[].urlstringPermalink to the review on GitHub

Pr Comments

Pr Comments List

Returns a list of comments for the specified pull request using GraphQL

Python SDK

await github.pr_comments.list(
owner="<str>",
repo="<str>",
number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pr_comments",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
numberintegerYesThe pull request number
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Pr Comments Get

Gets information about a specific pull request comment by its GraphQL node ID.

Note: This endpoint requires a GraphQL node ID (e.g., 'IC_kwDOBZtLds6YWTMj'), not a numeric database ID. You can obtain node IDs from the PRComments_List response, where each comment includes both 'id' (node ID) and 'databaseId' (numeric ID).

Python SDK

await github.pr_comments.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pr_comments",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesThe GraphQL node ID of the comment
fieldsarray<string>NoOptional array of field names to select

Search and filter pr comments records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.pr_comments.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pr_comments",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Labels

Labels List

Returns a list of labels for the specified repository using GraphQL

Python SDK

await github.labels.list(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "labels",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Labels Get

Gets information about a specific label by name using GraphQL

Python SDK

await github.labels.get(
owner="<str>",
repo="<str>",
name="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "labels",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"name": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
namestringYesThe label name
fieldsarray<string>NoOptional array of field names to select

Search and filter labels records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.labels.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "labels",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the label
namestringLabel name
colorstringLabel color as a 6-character hex string without a leading #
descriptionstringShort description of what the label is used for
createdAtstringISO 8601 timestamp when the label was created
urlstringPermalink to the label on GitHub
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the label
data[].namestringLabel name
data[].colorstringLabel color as a 6-character hex string without a leading #
data[].descriptionstringShort description of what the label is used for
data[].createdAtstringISO 8601 timestamp when the label was created
data[].urlstringPermalink to the label on GitHub

Milestones

Milestones List

Returns a list of milestones for the specified repository using GraphQL

Python SDK

await github.milestones.list(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "milestones",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
statesarray<"OPEN" | "CLOSED">NoFilter by milestone state
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Milestones Get

Gets information about a specific milestone by number using GraphQL

Python SDK

await github.milestones.get(
owner="<str>",
repo="<str>",
number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "milestones",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
numberintegerYesThe milestone number
fieldsarray<string>NoOptional array of field names to select

Search and filter milestones records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.milestones.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "milestones",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the milestone
numberintegerRepository-scoped milestone number
titlestringMilestone title
descriptionstringMilestone description
statestringMilestone state: OPEN or CLOSED
dueOnstringISO 8601 timestamp for the milestone's due date, if set
closedAtstringISO 8601 timestamp when the milestone was closed, if applicable
createdAtstringISO 8601 timestamp when the milestone was created
updatedAtstringISO 8601 timestamp when the milestone was last updated
progressPercentagenumberPercentage of associated issues/PRs that are closed
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the milestone
data[].numberintegerRepository-scoped milestone number
data[].titlestringMilestone title
data[].descriptionstringMilestone description
data[].statestringMilestone state: OPEN or CLOSED
data[].dueOnstringISO 8601 timestamp for the milestone's due date, if set
data[].closedAtstringISO 8601 timestamp when the milestone was closed, if applicable
data[].createdAtstringISO 8601 timestamp when the milestone was created
data[].updatedAtstringISO 8601 timestamp when the milestone was last updated
data[].progressPercentagenumberPercentage of associated issues/PRs that are closed

Organizations

Organizations Get

Gets information about a specific organization using GraphQL

Python SDK

await github.organizations.get(
org="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "organizations",
"action": "get",
"params": {
"org": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
orgstringYesThe organization login/username
fieldsarray<string>NoOptional array of field names to select

Organizations List

Returns a list of organizations the user belongs to using GraphQL

Python SDK

await github.organizations.list(
username="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "organizations",
"action": "list",
"params": {
"username": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
usernamestringYesThe username of the user
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Search and filter organizations records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.organizations.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "organizations",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the organization
databaseIdintegerREST API numeric identifier for the organization
loginstringOrganization login/handle (unique URL slug)
namestringDisplay name of the organization
descriptionstringShort public description of the organization
emailstringPublic contact email for the organization, if set
locationstringPublic location of the organization, if set
isVerifiedbooleanWhether the organization has a verified domain
createdAtstringISO 8601 timestamp when the organization was created
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the organization
data[].databaseIdintegerREST API numeric identifier for the organization
data[].loginstringOrganization login/handle (unique URL slug)
data[].namestringDisplay name of the organization
data[].descriptionstringShort public description of the organization
data[].emailstringPublic contact email for the organization, if set
data[].locationstringPublic location of the organization, if set
data[].isVerifiedbooleanWhether the organization has a verified domain
data[].createdAtstringISO 8601 timestamp when the organization was created

Users

Users Get

Gets information about a specific user using GraphQL

Python SDK

await github.users.get(
username="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "get",
"params": {
"username": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
usernamestringYesThe username of the user
fieldsarray<string>NoOptional array of field names to select

Users List

Returns a list of members for the specified organization using GraphQL

Python SDK

await github.users.list(
org="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "list",
"params": {
"org": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
orgstringYesThe organization login/username
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Search for GitHub users using search syntax

Python SDK

await github.users.api_search(
query="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "api_search",
"params": {
"query": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
querystringYesGitHub user search query using GitHub's search syntax
limitintegerNoNumber of results to return
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null
total_countinteger

Search and filter users records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.users.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the user
databaseIdintegerREST API numeric identifier for the user
loginstringUser login/handle
namestringPublic display name of the user, if set
emailstringPublic email address of the user, if set
companystringPublic company affiliation of the user, if set
locationstringPublic location of the user, if set
twitterUsernamestringPublic Twitter/X username of the user, if set
urlstringPermalink to the user's profile on GitHub
createdAtstringISO 8601 timestamp when the user account was created
isHireablebooleanWhether the user has marked themselves as available for hire
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the user
data[].databaseIdintegerREST API numeric identifier for the user
data[].loginstringUser login/handle
data[].namestringPublic display name of the user, if set
data[].emailstringPublic email address of the user, if set
data[].companystringPublic company affiliation of the user, if set
data[].locationstringPublic location of the user, if set
data[].twitterUsernamestringPublic Twitter/X username of the user, if set
data[].urlstringPermalink to the user's profile on GitHub
data[].createdAtstringISO 8601 timestamp when the user account was created
data[].isHireablebooleanWhether the user has marked themselves as available for hire

Teams

Teams List

Returns a list of teams for the specified organization using GraphQL

Python SDK

await github.teams.list(
org="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "list",
"params": {
"org": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
orgstringYesThe organization login/username
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Teams Get

Gets information about a specific team using GraphQL

Python SDK

await github.teams.get(
org="<str>",
team_slug="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "get",
"params": {
"org": "<str>",
"team_slug": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
orgstringYesThe organization login/username
team_slugstringYesThe team slug
fieldsarray<string>NoOptional array of field names to select

Search and filter teams records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.teams.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the team
databaseIdintegerREST API numeric identifier for the team
slugstringURL-friendly slug for the team within its organization
namestringDisplay name of the team
descriptionstringShort description of the team
privacystringTeam visibility: SECRET or VISIBLE
urlstringPermalink to the team on GitHub
createdAtstringISO 8601 timestamp when the team was created
updatedAtstringISO 8601 timestamp when the team was last updated
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the team
data[].databaseIdintegerREST API numeric identifier for the team
data[].slugstringURL-friendly slug for the team within its organization
data[].namestringDisplay name of the team
data[].descriptionstringShort description of the team
data[].privacystringTeam visibility: SECRET or VISIBLE
data[].urlstringPermalink to the team on GitHub
data[].createdAtstringISO 8601 timestamp when the team was created
data[].updatedAtstringISO 8601 timestamp when the team was last updated

Tags

Tags List

Returns a list of tags for the specified repository using GraphQL

Python SDK

await github.tags.list(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tags",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Tags Get

Gets information about a specific tag by name using GraphQL

Python SDK

await github.tags.get(
owner="<str>",
repo="<str>",
tag="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tags",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"tag": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
tagstringYesThe tag name
fieldsarray<string>NoOptional array of field names to select

Search and filter tags records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.tags.context_store_search(
query={"filter": {"eq": {"name": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tags",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"name": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
namestringTag name (e.g. v1.2.3)
prefixstringGit ref prefix for the tag (typically refs/tags/)
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].namestringTag name (e.g. v1.2.3)
data[].prefixstringGit ref prefix for the tag (typically refs/tags/)

Stargazers

Stargazers List

Returns a list of users who have starred the repository using GraphQL

Python SDK

await github.stargazers.list(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "stargazers",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring

Search and filter stargazers records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.stargazers.context_store_search(
query={"filter": {"eq": {"starredAt": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "stargazers",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"starredAt": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
starredAtstringISO 8601 timestamp when the user starred the repository
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].starredAtstringISO 8601 timestamp when the user starred the repository

Viewer

Viewer Get

Gets information about the currently authenticated user. This is useful when you don't know the username but need to access the current user's profile, permissions, or associated resources.

Python SDK

await github.viewer.get()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "viewer",
"action": "get"
}'

Parameters

Parameter NameTypeRequiredDescription
fieldsarray<string>NoOptional array of field names to select

Search and filter viewer records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.viewer.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "viewer",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Viewer Repositories

Viewer Repositories List

Returns a list of repositories owned by the authenticated user. Unlike Repositories_List which requires a username, this endpoint automatically lists repositories for the current authenticated user.

Python SDK

await github.viewer_repositories.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "viewer_repositories",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination (from previous response's endCursor)
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Search and filter viewer repositories records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.viewer_repositories.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "viewer_repositories",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Projects

Projects List

Returns a list of GitHub Projects V2 for the specified organization. Projects V2 are the new project boards that replaced classic projects.

Python SDK

await github.projects.list(
org="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "list",
"params": {
"org": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
orgstringYesThe organization login/username
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination (from previous response's endCursor)
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Projects Get

Gets information about a specific GitHub Project V2 by number

Python SDK

await github.projects.get(
org="<str>",
project_number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "get",
"params": {
"org": "<str>",
"project_number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
orgstringYesThe organization login/username
project_numberintegerYesThe project number
fieldsarray<string>NoOptional array of field names to select

Search and filter projects records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.projects.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "projects",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringGraphQL node ID of the project
numberintegerOrganization- or user-scoped project number
titlestringProject title
shortDescriptionstringShort description displayed on the project summary
urlstringPermalink to the project on GitHub
closedbooleanWhether the project has been closed
publicbooleanWhether the project is publicly visible
createdAtstringISO 8601 timestamp when the project was created
updatedAtstringISO 8601 timestamp when the project was last updated
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringGraphQL node ID of the project
data[].numberintegerOrganization- or user-scoped project number
data[].titlestringProject title
data[].shortDescriptionstringShort description displayed on the project summary
data[].urlstringPermalink to the project on GitHub
data[].closedbooleanWhether the project has been closed
data[].publicbooleanWhether the project is publicly visible
data[].createdAtstringISO 8601 timestamp when the project was created
data[].updatedAtstringISO 8601 timestamp when the project was last updated

Project Items

Project Items List

Returns a list of items (issues, pull requests, draft issues) in a GitHub Project V2. Each item includes its field values like Status, Priority, etc.

Python SDK

await github.project_items.list(
org="<str>",
project_number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "project_items",
"action": "list",
"params": {
"org": "<str>",
"project_number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
orgstringYesThe organization login/username
project_numberintegerYesThe project number
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination (from previous response's endCursor)
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Search and filter project items records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.project_items.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "project_items",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Discussions

Discussions List

Returns a list of discussions for the specified repository using GraphQL

Python SDK

await github.discussions.list(
owner="<str>",
repo="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "discussions",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
statesarray<"OPEN" | "CLOSED">NoFilter by discussion state
answeredbooleanNoFilter by answered/unanswered status
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null

Discussions Get

Gets information about a specific discussion by number using GraphQL

Python SDK

await github.discussions.get(
owner="<str>",
repo="<str>",
number=0
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "discussions",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"number": 0
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
numberintegerYesThe discussion number
fieldsarray<string>NoOptional array of field names to select

Search for discussions using GitHub's search syntax

Python SDK

await github.discussions.api_search(
query="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "discussions",
"action": "api_search",
"params": {
"query": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
querystringYesGitHub discussion search query using GitHub's search syntax
per_pageintegerNoThe number of results per page
afterstringNoCursor for pagination
fieldsarray<string>NoOptional array of field names to select
Response Schema

Meta

Field NameTypeDescription
has_next_pageboolean
end_cursorstring | null
total_countinteger

Search and filter discussions records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.discussions.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "discussions",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

File Content

File Content Get

Returns the text content of a file at a specific path and git ref (branch, tag, or commit SHA). Only works for text files. Binary files will have text as null and isBinary as true.

Python SDK

await github.file_content.get(
owner="<str>",
repo="<str>",
path="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "file_content",
"action": "get",
"params": {
"owner": "<str>",
"repo": "<str>",
"path": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
pathstringYesThe file path within the repository (e.g. 'README.md' or 'src/main.py')
refstringNoThe git ref to read from — branch name, tag, or commit SHA. Defaults to 'HEAD' (default branch)
fieldsarray<string>NoOptional array of field names to select

Search and filter file content records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.file_content.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "file_content",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Directory Content

Directory Content List

Returns a list of files and subdirectories at a specific path in the repository. Each entry includes the name, type (blob for files, tree for directories), and object ID. Use this to explore repository structure before reading specific files.

Python SDK

await github.directory_content.list(
owner="<str>",
repo="<str>",
path="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "directory_content",
"action": "list",
"params": {
"owner": "<str>",
"repo": "<str>",
"path": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
ownerstringYesThe account owner of the repository
repostringYesThe name of the repository
pathstringYesThe directory path within the repository (e.g. 'src' or 'airbyte-integrations/connectors/source-stripe')
refstringNoThe git ref — branch name, tag, or commit SHA. Defaults to 'HEAD' (default branch)
fieldsarray<string>NoOptional array of field names to select

Search and filter directory content records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await github.directory_content.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "directory_content",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
Was this page helpful?