GitHub quickstart
Everything you need for your first call is on this screen.
Base URL
Point your GitHub client at https://gh.sandboxapis.dev. Paths, JSON, headers, and status codes mirror api.github.com.
curl https://gh.sandboxapis.dev/repos/olympus-labs/parthenonDrop in your client
The only change is the base URL — Octokit and everything built on it work unmodified.
import { Octokit } from "@octokit/rest";
const octokit = new Octokit({ baseUrl: "https://gh.sandboxapis.dev" });
const { data } = await octokit.repos.get({ owner: "olympus-labs", repo: "parthenon" });
console.log(data.full_name); // "olympus-labs/parthenon"
const pulls = await octokit.pulls.list({ owner: "olympus-labs", repo: "parthenon", state: "all" });A real response
This is live from the universe — every reference (owner, branches, commits) resolves.
{
"id": 273073411,
"node_id": "UmVwb3NpdG9yeToyNzMwNzM0MTE",
"name": "parthenon",
"full_name": "olympus-labs/parthenon",
"owner": {
"login": "olympus-labs",
"id": 674901807,
"node_id": "T3JnYW5pemF0aW9uOjY3NDkwMTgwNw",
"avatar_url": "http://gh.internal/avatars/u/674901807?v=4",
"gravatar_id": "",
"url": "http://gh.internal/users/olympus-labs",
"html_url": "http://gh.internal/olympus-labs",
"followers_url": "http://gh.internal/users/olympus-labs/followers",
"following_url": "http://gh.internal/users/olympus-labs/following{/other_user}",
"gists_url": "http://gh.internal/users/olympus-labs/gists{/gist_id}",
"starred_url": "http://gh.internal/users/olympus-labs/starred{/owner}{/repo}",
"subscriptions_url": "http://gh.internal/users/olympus-labs/subscriptions",
"organizations_url": "http://gh.internal/users/olympus-labs/orgs",
"repos_url": "http://gh.internal/users/olympus-labs/repos",
"events_url": "http://gh.internal/users/olympus-labs/events{/privacy}",
"received_events_url": "http://gh.internal/users/olympus-labs/received_events",
"type": "Organization",
"site_admin": false
},
"private": true,
"description": "Monorepo for the Olympus Labs developer platform — the temple everything is built on.",
"fork": false,
"url": "http://gh.internal/repos/olympus-labs/parthenon",
"html_url": "http://gh.internal/olympus-labs/parthenon",
"archive_url": "http://gh.internal/repos/olympus-labs/parthenon/{archive_format}{/ref}",
"assignees_url": "http://gh.internal/repos/olympus-labs/parthenon/assignees{/user}",
"blobs_url": "http://gh.internal/repos/olympus-labs/parthenon/git/blobs{/sha}",
"branches_url": "http://gh.internal/repos/olympus-labs/parthenon/branches{/branch}",
"collaborators_url": "http://gh.internal/repos/olympus-labs/parthenon/collaborators{/collaborator}",
"comments_url": "http://gh.internal/repos/olympus-labs/parthenon/comments{/number}",
"commits_url": "http://gh.internal/repos/olympus-labs/parthenon/commits{/sha}",
"compare_url": "http://gh.internal/repos/olympus-labs/parthenon/compare/{base}...{head}",
"contents_url": "http://gh.internal/repos/olympus-labs/parthenon/contents/{+path}",
"contributors_url": "http://gh.internal/repos/olympus-labs/parthenon/contributors",
"deployments_url": "http://gh.internal/repos/olympus-labs/parthenon/deployments",
"downloads_url": "http://gh.internal/repos/olympus-labs/parthenon/downloads",
"events_url": "http://gh.internal/repos/olympus-labs/parthenon/events",
"forks_url": "http://gh.internal/repos/olympus-labs/parthenon/forks",
"git_commits_url": "http://gh.internal/repos/olympus-labs/parthenon/git/commits{/sha}",
"git_refs_url": "http://gh.internal/repos/olympus-labs/parthenon/git/refs{/sha}",
"git_tags_url": "http://gh.internal/repos/olympus-labs/parthenon/git/tags{/sha}",
"git_url": "git://gh.internal/olympus-labs/parthenon.git",
"hooks_url": "http://gh.internal/repos/olympus-labs/parthenon/hooks",
"issue_comment_url": "http://gh.internal/repos/olympus-labs/parthenon/issues/comments{/number}",
"issue_events_url": "http://gh.internal/repos/olympus-labs/parthenon/issues/events{/number}",
"issues_url": "http://gh.internal/repos/olympus-labs/parthenon/issues{/number}",
"keys_url": "http://gh.internal/repos/olympus-labs/parthenon/keys{/key_id}",
"labels_url": "http://gh.internal/repos/olympus-labs/parthenon/labels{/name}",
"languages_url": "http://gh.internal/repos/olympus-labs/parthenon/languages",
"merges_url": "http://gh.internal/repos/olympus-labs/parthenon/merges",
"milestones_url": "http://gh.internal/repos/olympus-labs/parthenon/milestones{/number}",
"notifications_url": "http://gh.internal/repos/olympus-labs/parthenon/notifications{?since,all,participating}",
"pulls_url": "http://gh.internal/repos/olympus-labs/parthenon/pulls{/number}",
"releases_url": "http://gh.internal/repos/olympus-labs/parthenon/releases{/id}",
"ssh_url": "git@gh.internal:olympus-labs/parthenon.git",
"stargazers_url": "http://gh.internal/repos/olympus-labs/parthenon/stargazers",
"statuses_url": "http://gh.internal/repos/olympus-labs/parthenon/statuses/{sha}",
"subscribers_url": "http://gh.internal/repos/olympus-labs/parthenon/subscribers",
"subscription_url": "http://gh.internal/repos/olympus-labs/parthenon/subscription",
"tags_url": "http://gh.internal/repos/olympus-labs/parthenon/tags",
"teams_url": "http://gh.internal/repos/olympus-labs/parthenon/teams",
"trees_url": "http://gh.internal/repos/olympus-labs/parthenon/git/trees{/sha}",
"clone_url": "http://gh.internal/olympus-labs/parthenon.git",
"svn_url": "http://gh.internal/olympus-labs/parthenon",
"homepage": null,
"language": "TypeScript",
"forks_count": 0,
"forks": 0,
"stargazers_count": 0,
"watchers_count": 0,
"watchers": 0,
"size": 4096,
"default_branch": "main",
"open_issues_count": 6,
"open_issues": 6,
"is_template": false,
"topics": [
"developer-tools",
"platform",
"typescript",
"monorepo"
],
"has_issues": true,
"has_projects": true,
"has_wiki": false,
"has_pages": false,
"has_downloads": true,
"has_discussions": false,
"archived": false,
"disabled": false,
"visibility": "private",
"mirror_url": null,
"license": {
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "http://gh.internal/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"allow_forking": true,
"web_commit_signoff_required": false,
"pushed_at": "2026-06-25T17:20:00Z",
"created_at": "2026-06-25T17:20:00Z",
"updated_at": "2026-06-25T17:20:00Z",
"network_count": 0,
"subscribers_count": 0
}Pin a snapshot for CI
Same env-var swap, a *.snap. host — the universe regenerates byte-identically on every request, so pinned tests never drift.
# reproducible in CI
export GITHUB_API_URL=https://gh-2026-03.snap.sandboxapis.dev