Skip to main content
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.