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.
Endpoint
POST /v1/tents/bulk is an async admission endpoint. The immediate response confirms which items were accepted or rejected and returns a bulk_job_id for polling.Request Body
Top-Level Fields
| Field | Type | Required | Notes |
|---|---|---|---|
template_id | string | Yes | Approved template ID to reuse across the whole batch |
items | array | Yes | Between 1 and 25 items |
client_job_descriptor | string | No | Optional label for the bulk job |
default_tent_name_prefix | string | No | Used when an item does not provide tent_name |
start_index | integer | No | Starting counter for generated tent names. Defaults to 1 |
auto_publish | boolean | No | Applies to the entire bulk request |
reasoning | min | medium | high | max | No | Controls reasoning effort for the template-based generation pass |
metadata | object | No | Optional job-level metadata echoed back in responses |
Item Fields
| Field | Type | Required | Notes |
|---|---|---|---|
input_data | object | Conditionally | Structured personalization data for this tent |
instructions | string | Conditionally | Item-specific instructions for how the tent should be generated |
client_item_id | string | No | Your own per-item identifier for reconciliation |
tent_name | string | No | Overrides batch naming defaults |
custom_page_alias | string | No | Requested published path for this item. Requires top-level auto_publish: true |
include_brand | boolean | No | Pulls workspace branding into this item’s prompt |
input_data or instructions.
Important Rules
- All items in one bulk request use the same
template_id - The template must exist in the same workspace as the API key
- The template must already be approved and have approved content available
- Tented generates every
tent_id; callers cannot supply or override it - Bulk requests support partial success. Some items can be accepted while others are rejected
auto_publishis batch-wide, but each item can still request its owncustom_page_alias
Request Example
Instructions-Only Example
When you do not need structured template variables, you can omitinput_data and use instructions alone:
Each item must provide at least one of
input_data or instructions. You can provide both; input_data is applied first and instructions are treated as additional guidance.Response Example
202 Accepted
Partial Success
Bulk requests are not all-or-nothing. Individual items can be rejected during admission while the rest of the batch proceeds.INVALID_ITEMNOT_FOUNDINSUFFICIENT_CREDITS
Naming Behavior
If an item omitstent_name, Tented generates a name using:
default_tent_name_prefixwhen provided- otherwise
client_job_descriptorwhen provided - otherwise
Bulk Tent
start_index and is rendered as Prefix (N).
Auto-Publish Behavior
Set top-levelauto_publish to true to publish all accepted items after generation succeeds.
Each item can optionally request a different custom_page_alias.
Alias rules match POST /v1/tents:
- Maximum
100characters - Lowercase letters, numbers, hyphens, underscores, and dots only
- Must start with a letter or number
- Must not be a UUID
- Must not use reserved words such as
api,admin,submit, orassets - Use
/to publish at the domain root
Polling For Results
Use the returnedbulk_job_id with GET /v1/bulk-jobs/{bulkJobId} to track aggregate progress and read final published URLs.
Next: Retrieve Bulk Job Status
Poll the bulk job until all accepted items complete or fail.