Internal API Endpoints Documentation
Creating Projects
Endpoint:
POST /internalapi/create/projects?title={projectTitle || 'Untitled Project'}
Auth: Requires cookies
Behavior:
-
A default .sb3 file is uploaded to the server (static/default-project/Project.apz)
-
A project.json file is stored in:
prisma/internal/projects/{ID}.json
-
Assets are stored in:
prisma/internal/assets/
Updating Projects
Endpoint:
POST /internalapi/projects/update?pID={projectid}&title={projectTitle}
Auth: Requires cookies
Behavior:
-
Updated assets stored in:
prisma/internal/assets/
-
Updated project data stored as:
prisma/internal/projects/{id}.json
User Management
Create Account (Signup)
Endpoint:
POST /internalapi/join
Storage:
User data saved in:
prisma/internal/db/ampmod.sqlite
Login
Endpoint:
POST /internalapi/login
Data Source:
Fetched from:
prisma/internal/db/ampmod.sqlite
Session
Endpoint:
GET /internalapi/session
Auth: Requires cookies
Returns:
Project Data
Project Meta
Endpoint:
GET /internalapi/projects/{id}
Returns:
Project metadata from:
prisma/internal/db/ampmod.sqlite
Project JSON
Endpoint:
GET /internalapi/{id}
Returns:
The full project.json file from:
prisma/internal/projects/{id}.json
Project Assets (Coming Soon)
Endpoint:
GET /internalapi/assets/:md5
Returns:
Assets as attachments from:
prisma/internal/assets/{md5hash}.{md5ext}
Project Creation Endpoint (Frontend)
Endpoint:
/projects/create
Signup Endpoint (Frontend)
Endpoint:
/join
How to Run
Setup Database
npm run db:push
Setup Project
npm run build && npm run preview
This uses the Vercel adapter, so it cannot be self-hosted. Made for Vercel only.
enhanced with ai
# Internal API Endpoints Documentation
## Creating Projects
**Endpoint:**
```
POST /internalapi/create/projects?title={projectTitle || 'Untitled Project'}
```
**Auth:** Requires cookies
**Behavior:**
* A default `.sb3` file is uploaded to the server (`static/default-project/Project.apz`)
* A `project.json` file is stored in:
```
prisma/internal/projects/{ID}.json
```
* Assets are stored in:
```
prisma/internal/assets/
```
---
## Updating Projects
**Endpoint:**
```
POST /internalapi/projects/update?pID={projectid}&title={projectTitle}
```
**Auth:** Requires cookies
**Behavior:**
* Updated assets stored in:
```
prisma/internal/assets/
```
* Updated project data stored as:
```
prisma/internal/projects/{id}.json
```
---
## User Management
### Create Account (Signup)
**Endpoint:**
```
POST /internalapi/join
```
**Storage:**
User data saved in:
```
prisma/internal/db/ampmod.sqlite
```
### Login
**Endpoint:**
```
POST /internalapi/login
```
**Data Source:**
Fetched from:
```
prisma/internal/db/ampmod.sqlite
```
### Session
**Endpoint:**
```
GET /internalapi/session
```
**Auth:** Requires cookies
**Returns:**
* `userData`
* `meta`
---
## Project Data
### Project Meta
**Endpoint:**
```
GET /internalapi/projects/{id}
```
**Returns:**
Project metadata from:
```
prisma/internal/db/ampmod.sqlite
```
### Project JSON
**Endpoint:**
```
GET /internalapi/{id}
```
**Returns:**
The full `project.json` file from:
```
prisma/internal/projects/{id}.json
```
### Project Assets (Coming Soon)
**Endpoint:**
```
GET /internalapi/assets/:md5
```
**Returns:**
Assets as attachments from:
```
prisma/internal/assets/{md5hash}.{md5ext}
```
---
## Project Creation Endpoint (Frontend)
**Endpoint:**
```
/projects/create
```
---
## Signup Endpoint (Frontend)
**Endpoint:**
```
/join
```
---
## How to Run
### Setup Database
```
npm run db:push
```
### Setup Project
```
npm run build && npm run preview
```
> This uses the Vercel adapter, so it cannot be self-hosted. Made for Vercel only.
# enhanced with ai