> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tented.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieving Tent Status

> Poll a tent until generation completes, fails, or finishes publishing.

## Endpoint

```bash theme={null}
GET /v1/tents/{tentId}
```

Use this endpoint to poll the status of a tent created or edited through the Tented API.

## Status Values

| Status | Meaning |
| - | - |
| `queued` | The generation record exists but work has not started yet |
| `generating` | Tented is actively generating the HTML |
| `completed` | Generation finished successfully |
| `failed` | Generation failed |

While the tent is still processing, Tented returns:

```http theme={null}
Retry-After: 10
```

Poll no more frequently than every 10 seconds.

## Request Example

```bash theme={null}
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

```json theme={null}
{
  "id": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
  "status": "queued",
  "created_at": "2026-04-08T12:30:00.000Z",
  "updated_at": "2026-04-08T12:30:00.000Z"
}
```

### Completed Response

```json theme={null}
{
  "id": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
  "status": "completed",
  "created_at": "2026-04-08T12:30:00.000Z",
  "updated_at": "2026-04-08T12:31:02.000Z"
}
```

### Failed Response

If generation fails, the response includes an `error` field:

```json theme={null}
{
  "id": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
  "status": "failed",
  "created_at": "2026-04-08T12:30:00.000Z",
  "updated_at": "2026-04-08T12:30:47.000Z",
  "error": "Upstream generation failed."
}
```

## Publication Object

If the create or edit request used `auto_publish: true`, the status response can also include a `publication` object.

| Field | Type | Notes |
| - | - | - |
| `status` | `pending \| published \| published_with_warnings \| failed` | Publication lifecycle state |
| `published_url` | `string` | Present when the tent was published |
| `requested_custom_page_alias` | `string \| null` | The alias you asked for |
| `applied_custom_page_alias` | `string \| null` | The alias that was actually applied. `null` means publish fell back or failed |
| `warnings` | `array` | Returned when publish succeeded with warnings |
| `error` | `object` | Returned when publish failed |

### Published Response

```json theme={null}
{
  "id": "f11ef3cf-8664-4fe5-a261-c5b4d647b7d1",
  "status": "completed",
  "created_at": "2026-04-08T12:30:00.000Z",
  "updated_at": "2026-04-08T12:31:02.000Z",
  "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:

```json theme={null}
{
  "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 publishing fails, the generation status remains `completed` and the failure is reported under `publication`:

```json theme={null}
{
  "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 `/`:

```json theme={null}
{
  "publication": {
    "status": "published",
    "published_url": "https://your-workspace.tented-pages.com/",
    "requested_custom_page_alias": "/",
    "applied_custom_page_alias": "/"
  }
}
```

## Common Errors

| Status | Cause |
| - | - |
| `400 Bad Request` | `tentId` is missing or not a valid UUID |
| `401 Unauthorized` | Missing or invalid bearer token |
| `404 Not Found` | The tent does not exist in the workspace associated with your API key |

<Card title="Back to API Overview" icon="arrow-left" href="/api-reference/introduction">
  Review the full Tented API workflow and endpoint map.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.