Skip to main content
POST
/
projects
Create or Update Project
curl --request POST \
  --url https://api.supapost.so/projects \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "<string>",
  "name": "<string>",
  "type": "<string>",
  "data": {},
  "thumbnailUrl": "<string>",
  "status": "<string>"
}
'
{
  "id": "uuid-1234",
  "team_id": "team-uuid",
  "name": "Morning Routine Carousel",
  "type": "slideshow",
  "data": { },
  "thumbnail_url": "https://cdn.supapost.so/assets/team/thumb.jpg",
  "status": "draft",
  "created_by": "user-uuid",
  "created_at": "2026-04-01T12:00:00Z",
  "updated_at": "2026-04-08T10:00:00Z"
}
If id is provided, updates the existing project. Otherwise creates a new project.

Authentication

Authorization
string
Bearer token. Bearer <supabase-jwt>.

Body

id
string
Project ID to update. Omit to create a new project.
name
string
required
Display name for the project.
type
string
required
Project type, e.g. "slideshow".
data
object
required
The full project data (slides, texts, images, etc.). Schema is type-dependent.
thumbnailUrl
string
URL for the project thumbnail.
status
string
default:"draft"
Project status. Defaults to "draft".
{
  "id": "uuid-1234",
  "team_id": "team-uuid",
  "name": "Morning Routine Carousel",
  "type": "slideshow",
  "data": { },
  "thumbnail_url": "https://cdn.supapost.so/assets/team/thumb.jpg",
  "status": "draft",
  "created_by": "user-uuid",
  "created_at": "2026-04-01T12:00:00Z",
  "updated_at": "2026-04-08T10:00:00Z"
}