This connector is optimized for AI agents. For the data replication connector, see Github .
This is the full reference documentation for the Github agent connector.
Supported entities and actions
The Github connector supports the following entities and actions.
Entity Actions Repositories Get , List , API Search , Context Store Search Org Repositories List , Context Store Search Branches List , Get , Context Store Search Commits List , Get , Context Store Search Releases List , Get , Context Store Search Issues List , Get , API Search , Create , Update , Context Store Search Comments Create , List , Get , Context Store Search Pull Requests Create , List , Get , API Search , Context Store Search Reviews List , Context Store Search Pr Comments List , Get , Context Store Search Labels List , Get , Context Store Search Milestones List , Get , Context Store Search Organizations Get , List , Context Store Search Users Get , List , API Search , Context Store Search Teams List , Get , Context Store Search Tags List , Get , Context Store Search Stargazers List , Context Store Search Viewer Get , Context Store Search Viewer Repositories List , Context Store Search Projects List , Get , Context Store Search Project Items List , Context Store Search Discussions List , Get , API Search , Context Store Search File Content Get , Context Store Search Directory Content List , 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 Name Type Required Description ownerstringYes The account owner of the repository (username or organization) repostringYes The name of the repository fieldsarray<string>No Optional 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 Name Type Required Description usernamestringYes The username of the user whose repositories to list per_pageintegerNo The number of results per page afterstringNo Cursor for pagination (from previous response's endCursor) fieldsarray<string>No Optional array of field names to select. If not provided, uses default fields.
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | null
Repositories API Search
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 Name Type Required Description querystringYes GitHub repository search query using GitHub's search syntax limitintegerNo Number of results to return afterstringNo Cursor for pagination (from previous response's endCursor) fieldsarray<string>No Optional array of field names to select. If not provided, uses default fields.
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | nulltotal_countinteger
Repositories Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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 Name Type Required Description orgstringYes The organization login/username per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | null
Org Repositories Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description
Response Schema Field Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository branchstringYes The branch name fieldsarray<string>No Optional array of field names to select
Branches Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description namestringBranch name (e.g. main, feature/foo) prefixstringGit ref prefix for the branch (typically refs/heads/)
Response Schema Field Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository per_pageintegerNo The number of results per page afterstringNo Cursor for pagination pathstringNo Only include commits that modified this file path (e.g. "airbyte-integrations/connectors/source-stripe/") fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository shastringYes The commit SHA fieldsarray<string>No Optional array of field names to select
Commits Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository tagstringYes The release tag name fieldsarray<string>No Optional array of field names to select
Releases Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository statesarray<"OPEN" | "CLOSED">No Filter by issue state per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository numberintegerYes The issue number fieldsarray<string>No Optional array of field names to select
Issues API Search
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 Name Type Required Description querystringYes GitHub issue search query using GitHub's search syntax per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | nulltotal_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 Name Type Required Description titlestringYes The title of the issue bodystringNo The contents of the issue (supports Markdown) labelsarray<string>No Labels to associate with this issue (requires push access) assigneesarray<string>No Logins for users to assign to this issue (requires push access) milestoneinteger | nullNo The number of the milestone to associate this issue with (requires push access) ownerstringYes The account owner of the repository (username or organization) repostringYes The name of the repository
Response Schema Records Field Name Type Description idintegernode_idstringurlstringrepository_urlstringlabels_urlstringcomments_urlstringevents_urlstringhtml_urlstringnumberintegerstatestringstate_reasonstring | nulltitlestringbodystring | nulluserobject | nulllabelsarray<object>assigneesarray<object>milestoneobject | nulllockedbooleancommentsintegerclosed_atstring | nullcreated_atstringupdated_atstringauthor_associationstringactive_lock_reasonstring | nullclosed_byobject | nulltimeline_urlstringperformed_via_github_appobject | nullassigneeobject | nullreactionsobjectsub_issues_summaryobjecttypeobject | nullpinned_commentobject | nullissue_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 Name Type Required Description titlestringNo The title of the issue bodystringNo The contents of the issue (supports Markdown) state"open" | "closed"No State of the issue: open or closed state_reasonstring | nullNo Reason for the state change: completed, not_planned, reopened, or null labelsarray<string>No Labels to set on this issue (replaces all existing labels; requires push access) assigneesarray<string>No Logins for users to assign to this issue (replaces all existing assignees; requires push access) milestoneinteger | nullNo The number of the milestone to associate this issue with, or null to remove the milestone (requires push access) ownerstringYes The account owner of the repository (username or organization) repostringYes The name of the repository issue_numberintegerYes The number that identifies the issue
Response Schema Records Field Name Type Description idintegernode_idstringurlstringrepository_urlstringlabels_urlstringcomments_urlstringevents_urlstringhtml_urlstringnumberintegerstatestringstate_reasonstring | nulltitlestringbodystring | nulluserobject | nulllabelsarray<object>assigneesarray<object>milestoneobject | nulllockedbooleancommentsintegerclosed_atstring | nullcreated_atstringupdated_atstringauthor_associationstringactive_lock_reasonstring | nullclosed_byobject | nulltimeline_urlstringperformed_via_github_appobject | nullassigneeobject | nullreactionsobjectsub_issues_summaryobjecttypeobject | nullpinned_commentobject | nullissue_field_valuesarray<object>issue_dependencies_summaryobject
Issues Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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
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 Name Type Required Description bodystringYes The contents of the comment (supports Markdown) ownerstringYes The account owner of the repository (username or organization) repostringYes The name of the repository issue_numberintegerYes The number that identifies the issue or pull request
Response Schema Records Field Name Type Description idintegernode_idstringurlstringhtml_urlstringbodystringuserobject | nullcreated_atstringupdated_atstringissue_urlstringauthor_associationstringperformed_via_github_appobject | nullreactionsobject
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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository numberintegerYes The issue number per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | null
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 Name Type Required Description idstringYes The GraphQL node ID of the comment fieldsarray<string>No Optional 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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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 Name Type Required Description titlestringYes The title of the new pull request headstringYes The 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 basestringYes The name of the branch you want the changes pulled into (e.g. main) bodystringNo The contents of the pull request (supports Markdown) draftbooleanNo Indicates whether the pull request is a draft maintainer_can_modifybooleanNo Indicates whether maintainers can modify the pull request ownerstringYes The account owner of the repository (username or organization) repostringYes The name of the repository
Response Schema Records Field Name Type Description idintegernode_idstringurlstringhtml_urlstringdiff_urlstringpatch_urlstringnumberintegerstatestringlockedbooleantitlestringbodystring | nulluserobject | nullcreated_atstringupdated_atstringclosed_atstring | nullmerged_atstring | nullmerge_commit_shastring | nulldraftbooleanheadobjectbaseobjectauthor_associationstringlabelsarray<object>milestoneobject | nullassigneesarray<object>requested_reviewersarray<object>commentsintegerreview_commentsintegercommitsintegeradditionsintegerdeletionsintegerchanged_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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository statesarray<"OPEN" | "CLOSED" | "MERGED">No Filter by pull request state per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository numberintegerYes The pull request number fieldsarray<string>No Optional array of field names to select
Pull Requests API Search
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 Name Type Required Description querystringYes GitHub pull request search query using GitHub's search syntax per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | nulltotal_countinteger
Pull Requests Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository numberintegerYes The pull request number per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | null
Reviews Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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
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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository numberintegerYes The pull request number per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | null
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 Name Type Required Description idstringYes The GraphQL node ID of the comment fieldsarray<string>No Optional 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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description
Response Schema Field Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository namestringYes The label name fieldsarray<string>No Optional array of field names to select
Labels Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository statesarray<"OPEN" | "CLOSED">No Filter by milestone state per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository numberintegerYes The milestone number fieldsarray<string>No Optional array of field names to select
Milestones Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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 Name Type Required Description orgstringYes The organization login/username fieldsarray<string>No Optional 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 Name Type Required Description usernamestringYes The username of the user per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | null
Organizations Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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 Name Type Required Description usernamestringYes The username of the user fieldsarray<string>No Optional 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 Name Type Required Description orgstringYes The organization login/username per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | null
Users API Search
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 Name Type Required Description querystringYes GitHub user search query using GitHub's search syntax limitintegerNo Number of results to return afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | nulltotal_countinteger
Users Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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 Name Type Required Description orgstringYes The organization login/username per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_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 Name Type Required Description orgstringYes The organization login/username team_slugstringYes The team slug fieldsarray<string>No Optional array of field names to select
Teams Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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
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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | null
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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository tagstringYes The tag name fieldsarray<string>No Optional array of field names to select
Tags Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description namestringTag name (e.g. v1.2.3) prefixstringGit ref prefix for the tag (typically refs/tags/)
Response Schema Field Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring
Stargazers Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description starredAtstringISO 8601 timestamp when the user starred the repository
Response Schema Field Name Type Description 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 Name Type Required Description fieldsarray<string>No Optional array of field names to select
Viewer Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description
Response Schema Field Name Type Description 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 Name Type Required Description per_pageintegerNo The number of results per page afterstringNo Cursor for pagination (from previous response's endCursor) fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | null
Viewer Repositories Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description
Response Schema Field Name Type Description 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 Name Type Required Description orgstringYes The organization login/username per_pageintegerNo The number of results per page afterstringNo Cursor for pagination (from previous response's endCursor) fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_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 Name Type Required Description orgstringYes The organization login/username project_numberintegerYes The project number fieldsarray<string>No Optional array of field names to select
Projects Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description 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 Name Type Description 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 Name Type Required Description orgstringYes The organization login/username project_numberintegerYes The project number per_pageintegerNo The number of results per page afterstringNo Cursor for pagination (from previous response's endCursor) fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | null
Project Items Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description
Response Schema Field Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository statesarray<"OPEN" | "CLOSED">No Filter by discussion state answeredbooleanNo Filter by answered/unanswered status per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository numberintegerYes The discussion number fieldsarray<string>No Optional array of field names to select
Discussions API Search
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 Name Type Required Description querystringYes GitHub discussion search query using GitHub's search syntax per_pageintegerNo The number of results per page afterstringNo Cursor for pagination fieldsarray<string>No Optional array of field names to select
Response Schema Field Name Type Description has_next_pagebooleanend_cursorstring | nulltotal_countinteger
Discussions Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description
Response Schema Field Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository pathstringYes The file path within the repository (e.g. 'README.md' or 'src/main.py') refstringNo The git ref to read from — branch name, tag, or commit SHA. Defaults to 'HEAD' (default branch) fieldsarray<string>No Optional array of field names to select
File Content Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description
Response Schema Field Name Type Description 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 Name Type Required Description ownerstringYes The account owner of the repository repostringYes The name of the repository pathstringYes The directory path within the repository (e.g. 'src' or 'airbyte-integrations/connectors/source-stripe') refstringNo The git ref — branch name, tag, or commit SHA. Defaults to 'HEAD' (default branch) fieldsarray<string>No Optional array of field names to select
Directory Content Context Store Search
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 Name Type Required Description queryobjectYes Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or query.filterobjectNo Filter conditions query.sortarrayNo Sort conditions limitintegerNo Maximum results to return (default 1000) cursorstringNo Pagination cursor from previous response's meta.cursor fieldsarrayNo Field paths to include in results
Searchable Fields
Field Name Type Description
Response Schema Field Name Type Description 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