Skip to main content

Endpoint

GET /v1/tents/{tentId}
Use this endpoint to poll the status of a tent created through the Vibe Coding API.

Status Values

StatusMeaning
queuedThe generation record exists but work has not started yet
generatingTented is actively generating the HTML
completedGeneration finished successfully
failedGeneration failed
While the tent is still processing, Tented returns:
Retry-After: 10
Poll no more frequently than every 10 seconds.

Request Example

curl --request GET \
  --url https://api.tented.ai/v1/tents/f11ef3cf-8664-4fe5-a261-c5b4d647b7d1 \
  --header "Authorization: Bearer $TENTED_API_KEY"

Response Examples

In-Progress Response

{
  "id": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
  "status": "queued",
  "created_at": "2026-03-13T15:40:00.000Z",
  "updated_at": "2026-03-13T15:40:00.000Z"
}

Completed Response

When generation succeeds, the response includes a result object:
{
  "id": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
  "status": "completed",
  "created_at": "2026-03-13T15:40:00.000Z",
  "updated_at": "2026-03-13T15:41:02.000Z",
  "result": {
    "tentId": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
    "s3Key": "tents/org-id/f11ef3cf-8664-4fe5-a261-c5b4d647b7d1/gen-id/index.html",
    "filePath": "index.html"
  }
}

Failed Response

If generation fails, the response includes an error field:
{
  "id": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
  "status": "failed",
  "created_at": "2026-03-13T15:40:00.000Z",
  "updated_at": "2026-03-13T15:40:47.000Z",
  "error": "Upstream generation failed."
}

Publication Object

If the original create request used auto_publish: true, the status response also includes a publication object.
FieldTypeNotes
statuspending | published | published_with_warnings | failedPublication lifecycle state
published_urlstringPresent when the tent was published
requested_custom_page_aliasstringThe alias you asked for
applied_custom_page_aliasstring | nullThe alias that was actually applied. null means publish fell back or failed
warningsarrayReturned when publish succeeded with warnings
errorobjectReturned when publish failed

Published Response

{
  "id": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
  "status": "completed",
  "created_at": "2026-03-13T15:40:00.000Z",
  "updated_at": "2026-03-13T15:41:02.000Z",
  "result": {
    "tentId": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
    "s3Key": "tents/org-id/f11ef3cf-8664-4fe5-a261-c5b4d647b7d1/gen-id/index.html",
    "filePath": "index.html"
  },
  "publication": {
    "status": "published",
    "published_url": "https://your-workspace.tented-pages.com/launch-page",
    "requested_custom_page_alias": "launch-page",
    "applied_custom_page_alias": "launch-page"
  }
}

Published With Warning Response

If the requested alias is already taken, Tented still publishes the tent at its default path and returns a warning:
{
  "publication": {
    "status": "published_with_warnings",
    "published_url": "https://your-workspace.tented-pages.com/f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
    "requested_custom_page_alias": "launch-page",
    "applied_custom_page_alias": null,
    "warnings": [
      {
        "code": "CUSTOM_PAGE_ALIAS_UNAVAILABLE",
        "message": "Requested alias is already in use. Published using default tent URL."
      }
    ]
  }
}

Publication Failure Response

If generation succeeds but auto-publish fails, the generation status still remains completed and the failure is reported under publication:
{
  "publication": {
    "status": "failed",
    "applied_custom_page_alias": null,
    "error": {
      "code": "PUBLISH_LIMIT_EXCEEDED",
      "message": "Free users can only have 1 published tent. Upgrade to publish more."
    }
  }
}

Root Page Publishing Response

If you requested / as the alias, the status response returns /:
{
  "publication": {
    "status": "published",
    "published_url": "https://your-workspace.tented-pages.com/",
    "requested_custom_page_alias": "/",
    "applied_custom_page_alias": "/"
  }
}

Common Errors

StatusCause
400 Bad RequesttentId is missing or not a valid UUID
401 UnauthorizedMissing or invalid bearer token
404 Not FoundThe tent does not exist in the workspace associated with your API key

Back to API Overview

Review the full Vibe Coding API workflow and endpoint map.