Connect a Git repository to a pod for automatic or manual deployments. Supports GitHub (with webhooks and commit status checks) and any Git URL via HTTPS.
Get Git Config
Response: 200 OK
Returns null if no repository is connected.
Connect a Repository
Request Body:
Response: 201 Created
Returns the git config object.
Errors:
Update Settings
Request Body:
All fields are optional. Only provided fields are updated; send "" to clear one and fall back to
auto-detection.
Response: 200 OK
Disconnect
Response: 200 OK
Trigger Deploy
No request body required. Pulls the latest code from the configured branch and deploys.
Response: 202 Accepted
Deployment runs asynchronously. Poll the deployment detail endpoint to check status.
List Deployments
Response: 200 OK
Deployment statuses: deploying, success, failed, rolled_back
Trigger types: push (webhook), manual, rollback
Get Deployment Detail
Response: 200 OK
Returns a single deployment object with a build_log field containing the full build output:
Rollback
Request Body:
Response: 202 Accepted
Returns a new deployment object with trigger: "rollback".
Webhooks
These endpoints are public (no auth required). They receive push events from Git providers.
The GitHub webhook is configured automatically when connecting a GitHub repository. For other providers, use the generic webhook URL shown in the dashboard.
Commits containing [skip deploy] in the message are ignored.
Repair Auto-Deploy
Re-creates the push webhook for a pod whose auto-deploy has stopped firing. Use it when the pod is
connected to a repository, auto-deploy is on, but pushes no longer trigger a build - usually because
the repository was connected with a token rather than through the GitHub App, and the webhook was
deleted or never created.
No request body. A pod already deploying through the GitHub App is a no-op.
Response: 200 OK
If the webhook can’t be created for you - you need admin rights on the repository - the response is
still 200, but carries an error field alongside the config, and the config now contains a
webhook secret so you can add the hook by hand:
Returns 404 if the pod has no repository connected.
GitHub App
The InstaPods GitHub App is what lets you browse and deploy private repositories without pasting a
token. These endpoints back the GitHub card on Dashboard → Integrations. All require
authentication.
List Installations
Response: 200 OK
An empty installations list means different things depending on the flags, which is why they’re
there:
List Repositories in an Installation
Returns the repositories that installation can see.
An installation whose repository_selection is selected only exposes the repos you ticked when
installing the App. That is far and away the most common reason this list comes back empty or
missing the repo you wanted; fix it at the installation’s html_url on GitHub.
Create a Repository
Creates a new repository on your GitHub account. Used by the dashboard when you want a pod’s code
pushed somewhere it can auto-deploy from.
Response: 201 Created - returns the created repository. Returns 400 if name is missing or
your GitHub account isn’t linked.