Skip to content

GET /api/github/installations/:installationId/repos

Summary

Retrieves the list of repositories accessible to a specific GitHub App installation.

Intent

Allows clients to discover which repositories are available under a given GitHub App installation ID, enabling downstream workflows such as selecting a repo for documentation generation or webhook configuration.

Parameters

NameTypeRequiredDescription
installationIdstringYesThe unique identifier of the GitHub App installation whose accessible repositories should be listed.

Request example

Terminal window
curl -X GET "https://maps.google.com/api/github/installations/12345678/repos" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"

Response example

{
"repos": [
{
"id": 123456789,
"name": "my-api-repo",
"full_name": "acme/my-api-repo",
"private": false
},
{
"id": 987654321,
"name": "another-repo",
"full_name": "acme/another-repo",
"private": true
}
]
}

Error cases

  • 500 — The GitHub client throws an error — for example, the installationId is invalid, the installation has been revoked, or the GitHub API is unreachable.

Gotchas

  • The response shape depends entirely on what githubClient.listInstallationRepos returns; the exact fields inside each repo object are not determinable from this handler alone — verify against the live API or the GithubClient implementation.
  • There is no input validation on installationId in this handler — any string is passed directly to the GitHub client. An invalid or non-existent installationId will result in a 500 error rather than a 404.
  • All GitHub client errors are caught and returned as a 500 with the raw error message, which may expose internal error details to the caller.
  • Although auth is marked as not required at the route level, the underlying GitHub client may still require valid GitHub App credentials configured server-side.