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
| Name | Type | Required | Description |
|---|---|---|---|
| installationId | string | Yes | The unique identifier of the GitHub App installation whose accessible repositories should be listed. |
Request example
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.