ShipHook exposes an authenticated JSON API from the same agent that hosts the web UI.
Open /api in the web UI for interactive documentation, token generation, and “try it” requests.
Browser sessions use the same secure cookie as the main web UI.
Automation should use bearer tokens:
curl -H 'Authorization: Bearer shiphook_xxx' https://shiphook.example.com/api/v1/statusCreate tokens from /api or from Account & Security in the web UI. Tokens are stored hashed and are only shown once.
Returns all configured repositories, their configuration, runtime state, recent builds, and recent releases.
Returns one repository snapshot.
Returns one repository runtime status. Omit id to return the full dashboard snapshot.
Returns the latest log tail as JSON. tail is clamped to 1...2000.
Use /api/log?repo=REPOSITORY_ID from an authenticated browser session to download the full .log file.
Triggers ShipHook to check for work. If a repository has a buildable update, this can start a build.
{ "repositoryID": "repo-abc" }Omit repositoryID to check all repositories.
Alias for check, intended for callers that think in “trigger a build” terms.
Pulls the configured branch locally without publishing.
{ "repositoryID": "repo-abc" }Deletes and reclones the configured local checkout. Requires repositoryID.
{ "repositoryID": "repo-abc" }Requests a soft restart of the ShipHook agent.
Schedules a recovery restart that bypasses the main app state. Use this only when the main agent is wedged and ordinary status/command endpoints do not respond.
Lists visible files inside the configured checkout. Results are limited to 200 entries.
Reads a UTF-8 text file from the configured checkout.
Security limits:
- Paths must stay inside the repository checkout.
- Absolute paths and
..are rejected. .gitand.shiphookare blocked.- Hidden files are skipped in directory listings.
- File reads are limited to 256 KB.
- Binary/non-UTF-8 files are rejected.
Token management endpoints require an authenticated browser session or an existing bearer token for the same admin.
{ "name": "ci-runner" }Returns the plaintext token once.
{ "id": "token-id" }Revokes one of the current administrator’s API tokens.
API token creation, token revocation, build/check/pull/reclone actions, hard restart requests, and other web UI actions are recorded in the web UI audit log.