api reference

API Reference

All GitLab API calls are made server-side by the portal, authenticated with a personal access token (PAT) in the PRIVATE-TOKEN header. Clients never see the PAT or interact with GitLab directly.

Base URL: https://git.eurekaendeavors.com/api/v4/


Project Data

Purpose Method Endpoint
Project details GET /projects/:id
README content GET /projects/:id/repository/files/README.md/raw?ref=main
Releases list GET /projects/:id/releases
Wiki page list GET /projects/:id/wikis
Wiki page content GET /projects/:id/wikis/:slug
Source archive (zip) GET /projects/:id/repository/archive.zip?sha=:ref

Downloads (Proxied)

Release asset URLs are returned in the releases API response. The portal extracts these URLs and proxies requests to them — streaming the response to the client while logging the event to SQLite.

Asset URLs typically follow the pattern:

https://git.eurekaendeavors.com/icarus/:repo/-/package_files/:id/download

The portal never exposes these GitLab-internal URLs to clients.


Git Smart HTTP (Proxied)

These are not GitLab API endpoints — they are the git HTTP protocol endpoints served by GitLab's built-in git server.

Purpose Method Path (on GitLab)
Ref discovery GET /:namespace/:repo.git/info/refs?service=git-upload-pack
Pack transfer POST /:namespace/:repo.git/git-upload-pack

The portal maps its public slug routes to these GitLab paths and proxies them with streaming. See Git Clone Proxy for full details.


Project IDs

ID Project Slug Exposed
1 icarus/pets pets Yes — /pets
2 root/icarus-bug-reports (none) No — private bug intake
4 icarus/prospects prospects Yes — /prospects
5 icarus/data-catalog data-catalog Yes — /catalog
6 icarus/portal (none) No — this project
7 icarus/core (none) No — pip library
Back to Docs