Skip to main content

Overview

Tented’s Vibe Coding API lets you create new tents from your own systems without using the app UI. The current public surface is focused on the initial generation workflow:
  • Create a tent from a prompt
  • Upload files before generation
  • Poll generation status until it completes or fails
  • Auto-publish the finished tent if you opt in
The Vibe Coding API is asynchronous. POST /v1/tents returns immediately with a pending job, and you then poll GET /v1/tents/{tentId} until the status becomes completed or failed.

Base URL

Use the production base URL:
https://api.tented.ai
All current endpoints live under the /v1 prefix:
  • POST /v1/tents
  • POST /v1/tents/{tentId}/assets
  • GET /v1/tents/{tentId}

Authentication

Authenticate every request with a bearer API key:
Authorization: Bearer tented_your_api_key
API keys are scoped to a single Tented workspace. A request can only access tents and assets that belong to the workspace associated with that key.

Set up Authentication

Learn how API keys work, where to create them, and which headers to send.

Supported Workflow

1. Optional: upload files

If your prompt should reference a brief, logo, PDF, spreadsheet, image, video, or audio file, upload it first:
  • POST /v1/tents/new/assets creates an idle tent and stores the file
  • POST /v1/tents/{tentId}/assets attaches another file to an existing tent
The asset upload response returns:
  • actual_tent_id
  • asset_id
You then pass both back to POST /v1/tents.

2. Create the tent

Send the prompt and any optional generation settings:
{
  "name": "Spring campaign landing page",
  "prompt": "Create a launch page for our spring release with a hero, feature grid, pricing, FAQ, and contact form"
}
The API responds with 202 Accepted:
{
  "id": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
  "status": "pending",
  "created_at": "2026-03-13T15:30:00.000Z"
}

3. Poll for completion

Call GET /v1/tents/{tentId} until the status changes:
  • queued
  • generating
  • completed
  • failed
While generation is still in progress, Tented returns a Retry-After: 10 header to guide polling frequency.

Available Endpoints

  • POST /v1/tents starts a new tent generation request
  • POST /v1/tents/{tentId}/assets uploads a file to a new or existing tent
  • GET /v1/tents/{tentId} returns the current generation and publication status for a tent
If you create a tent with a supplied tent_id, that tent must still be unused for generation. Once a tent already has a generation, POST /v1/tents returns 409 Conflict.

Quickstart

Minimal flow

curl --request POST \
  --url https://api.tented.ai/v1/tents \
  --header "Authorization: Bearer $TENTED_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "name": "Acme product page",
    "prompt": "Create a landing page for Acme Analytics with a hero, customer logos, features, pricing, and lead form"
  }'
Then poll:
curl --request GET \
  --url https://api.tented.ai/v1/tents/f11ef3cf-8664-4fe5-a261-c5b4d647b7d1 \
  --header "Authorization: Bearer $TENTED_API_KEY"

Next Steps

Upload Assets

Attach files before generation so your prompt can reference them.

Create Tents

Learn the full request schema, optional fields, and auto-publish behavior.