1. Projects
Litehost Connect API
  • System
    • Health check
      GET
    • API info
      GET
  • Authentication
    • Request OTP code
      POST
    • Verify OTP and get API key
      POST
  • User
    • Get current user
      GET
  • Projects
    • List projects
      GET
    • Create project
      POST
    • Get project
      GET
    • Push new version
      PUT
    • Update project settings
      PATCH
    • Delete project
      DELETE
    • Get deployment history
      GET
    • Archive project
      POST
    • Create temporary project
      POST
    • Unarchive project
      POST
    • Claim anonymous project
      POST
  • Domains
    • List domains
      GET
    • Get domain
      GET
  • Workspaces
    • List workspaces
      GET
    • Create workspace
      POST
    • Rename workspace
      PATCH
    • Delete workspace
      DELETE
  • Schemas
    • Project
    • Deployment
    • Domain
    • DomainDetail
    • WorkspaceSummary
    • ErrorResponse
    • SuccessResponse
    • FreeTierRestricted
  1. Projects

Create project

POST
/v1/projects
Create a new project and upload its content. Send as multipart/form-data.
Required: title and at least one file via files.
When uploading a .zip, the system automatically determines how to handle it:
No HTML files → treated as a file bundle
One HTML file → treated as a static site (used as homepage)
Multiple HTML files → you must provide zipIndexHtmlPath to specify the homepage
If zipIndexHtmlPath is missing or invalid when multiple HTML files are found, the request will fail and return the list of detected HTML files.
Set asFileBundle: true to skip detection entirely and always treat the upload as a file bundle.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Body Params multipart/form-dataRequired

Responses

🟢201
application/json
Project created
Body

🟠400
🟠401
🟠403
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://connect.litehost.io/v1/projects' \
--header 'Authorization: Bearer <token>' \
--form 'title="My Project"' \
--form 'slug="my-project"' \
--form 'domainId=""' \
--form 'workspaceId=""' \
--form 'access="public"' \
--form 'password=""' \
--form 'expiresIn=""' \
--form 'files=""' \
--form 'zipIndexHtmlPath=""' \
--form 'asFileBundle=""'
Response Response Example
201 - Example 1
{
    "status": "success",
    "data": {
        "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
        "url": "http://example.com",
        "title": "string",
        "type": "string",
        "slug": "string",
        "expiresAt": "2019-08-24T14:15:22.123Z",
        "createdAt": "2019-08-24T14:15:22.123Z",
        "quota": {
            "projects": {
                "used": 4,
                "limit": 10,
                "unlimited": false
            },
            "storage": {
                "usedBytes": 10485760,
                "limitBytes": 2147483648,
                "unlimited": false
            }
        }
    }
}
Modified at 2026-04-03 07:05:46
Previous
List projects
Next
Get project
Built with