Skip to main content
Repository and code collaboration API for reading repos, issues, pull requests, and commits. Use when a workflow needs to gather development context, check PR status, or read code. Requires a personal access token — most endpoints use the authenticated user’s permissions. 7 example endpoints available through Lava’s AI Gateway. See the GitHub API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a catch-all provider — any valid URL under https://api.github.com is supported. Any GitHub REST API endpoint. Construct URL as https://api.github.com/{path}. See https://docs.github.com/en/rest for full reference. The endpoints below are curated examples.

Endpoints

Get authenticated user

GET https://api.github.com/user — Free
const data = await lava.gateway('https://api.github.com/user', { method: 'GET' });

List user repositories

GET https://api.github.com/user/repos — Free
const data = await lava.gateway('https://api.github.com/user/repos', { method: 'GET' });

List pull requests for a repository

GET https://api.github.com/repos/{owner}/{repo}/pulls — Free
const data = await lava.gateway('https://api.github.com/repos/{owner}/{repo}/pulls', { method: 'GET' });

Create an issue

POST https://api.github.com/repos/{owner}/{repo}/issues — Free
const data = await lava.gateway('https://api.github.com/repos/{owner}/{repo}/issues', { body: {"title":"Bug report","body":"Description of the issue"} });

Update an issue

PATCH https://api.github.com/repos/{owner}/{repo}/issues/{issue_number} — Free
const data = await lava.gateway('https://api.github.com/repos/{owner}/{repo}/issues/{issue_number}', { method: 'PATCH', body: {"state":"closed"} });

Merge a pull request

PUT https://api.github.com/repos/{owner}/{repo}/pulls/{pull_number}/merge — Free
const data = await lava.gateway('https://api.github.com/repos/{owner}/{repo}/pulls/{pull_number}/merge', { method: 'PUT', body: {"merge_method":"squash"} });

Delete a repository

DELETE https://api.github.com/repos/{owner}/{repo} — Free
const data = await lava.gateway('https://api.github.com/repos/{owner}/{repo}', { method: 'DELETE' });

Next Steps

All Providers

Browse all supported AI providers

Forward Proxy

Learn how to construct proxy URLs and authenticate requests