The Deploy Your App REST API is a JSON HTTP API. All endpoints are served by the Next.js web application under theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/nayalsaurav/deploy-your-app/llms.txt
Use this file to discover all available pages before exploring further.
/api/v1/ path prefix, meaning there is no separate API host — your self-hosted instance handles every request in the same process that serves the dashboard UI.
Base URL
All API requests are made to your own instance. Replaceyour-domain.com with the domain where your Deploy Your App web app is running:
All Endpoints
The table below lists every available route, grouped by resource. Dynamic segments are written as:id.
| Method | Path | Description |
|---|---|---|
GET | /api/v1/projects | List all projects owned by the authenticated user |
POST | /api/v1/projects/import | Import a GitHub repository as a new project |
GET | /api/v1/projects/:id | Get a single project including its deployments |
PATCH | /api/v1/projects/:id | Update project settings (name, build command, etc.) |
DELETE | /api/v1/projects/:id | Permanently delete a project |
POST | /api/v1/projects/:id/deploy | Trigger a manual deployment for a project |
POST | /api/v1/projects/:id/envs | Add or update an environment variable |
DELETE | /api/v1/projects/:id/envs | Delete an environment variable by envId query param |
POST | /api/v1/projects/:id/domain/verify | Verify a custom domain CNAME record |
GET | /api/v1/projects/:id/server-logs | Stream live container logs for a running project (SSE) |
GET | /api/v1/deployments | List recent deployments across all projects |
GET | /api/v1/deployments/:id | Get a single deployment by ID |
GET | /api/v1/deployments/:id/logs | Stream build logs for a deployment (SSE) |
GET | /api/v1/repository | List GitHub repositories accessible to the authenticated user |
POST | /webhook/:projectId | Receive a GitHub push event and trigger a new deployment |
The
POST /webhook/:projectId endpoint is handled by a dedicated Express API service (the apps/api package), not by the Next.js application. It runs on a separate port and is called directly by GitHub — not under the /api/v1/ prefix.Response Format
Most endpoints return JSON. The majority of successful responses carry amessage field describing the outcome and, when data is returned, a data field containing the resource payload. A small number of routes return a flatter shape — see the notes below. Error responses always carry a single error field with a human-readable message.
Standard success response shape (used by most /api/v1/ routes):
POST /api/v1/projects/import and GET /api/v1/repository):
HTTP Status Codes
| Code | Meaning |
|---|---|
200 OK | Request succeeded. Response body contains the requested data. |
201 Created | Resource was created successfully. |
400 Bad Request | The request was malformed or missing required fields. |
401 Unauthorized | No valid session was found. Sign in before retrying. |
404 Not Found | The requested resource does not exist or does not belong to you. |
500 Internal Server Error | An unexpected error occurred on the server. |
All
/api/v1/ endpoints require authentication. Requests without a valid session cookie are rejected with a 401 Unauthorized response. Authentication is handled via GitHub OAuth — see the Authentication page for details.Explore the API
Authentication
Learn how GitHub OAuth session cookies are used to authenticate every API request.
Projects
List, import, update, and delete your deployed projects.
Deployments
Browse deployment history and stream build logs.
GitHub Webhook
Understand how GitHub push events automatically trigger new deployments.