Admin- Tenant Templates
Managing tenant templates within the Hatz platform. Templates allow you to pre-configure settings for new tenants. They do not affect the tenant after the point of creation.
List Tenant Templates
List all tenant creation templates for the current user's managed entity.
Endpoint
GET /v1/admin/tenants/templates
Query Parameters
-
limit(optional): Number of results to return (1-100, default: 50) -
cursor(optional): Pagination cursor (created_at timestamp from previous response)
Example Request
curl 'https://ai.hatz.ai/v1/admin/tenants/templates?limit=2' \
-H 'X-API-Key: $HATZ_API_KEY'
Response
{
"templates": [
{
"id": "tentemplate_abc123",
"name": "Standard Business Template",
"package_name": "Professional",
"default_model_name": "gpt-4o",
"beta_features": false,
"mfa_required": true,
"created_at": "2024-01-15T09:00:00Z",
"updated_at": "2024-01-15T09:00:00Z"
},
{
"id": "tentemplate_def456",
"name": "Enterprise Template",
"package_name": "Enterprise",
"default_model_name": "claude-3-5-sonnet",
"beta_features": true,
"mfa_required": true,
"created_at": "2024-01-10T12:00:00Z",
"updated_at": "2024-01-10T12:00:00Z"
}
],
"next_cursor": "2024-01-10T12:00:00Z"
}
Pagination Example
curl 'https://ai.hatz.ai/v1/admin/tenants/templates?limit=20&cursor=2024-01-10T12:00:00Z' \
-H 'X-API-Key: $HATZ_API_KEY'
Get Tenant Creation Template
Get a specific tenant creation template by ID.
Endpoint
GET /v1/admin/tenants/templates/{template_id}
Path Parameters
-
template_id(required): Template HashID (e.g., "tentemplate_abc123")
Example Request
curl 'https://ai.hatz.ai/v1/admin/tenants/templates/tentemplate_abc123' \
-H 'X-API-Key: $HATZ_API_KEY'
Response
{
"id": "tentemplate_abc123",
"name": "Standard Business Template",
"package_name": "Professional",
"default_model_name": "gpt-4o",
"beta_features": false,
"mfa_required": true,
"created_at": "2024-01-15T09:00:00Z",
"updated_at": "2024-01-15T09:00:00Z"
}
Create Tenant Creation Template
Create a new tenant creation template.
Endpoint
POST /v1/admin/tenants/templates
Request Body
-
name(required): Template name (3-255 characters) -
package_name(required): Package name to assign to tenants created with this template. Must be one ofIntro,Starter,SMB,Business, orProfessionalthat corresponds with packages available. -
default_model_name(optional): Default AI model name (e.g., "gpt-4o") -
beta_features(optional): Enable beta features for tenants (default: false) -
mfa_required(optional): Require MFA for tenants (default: false)
Request
{
"name": "string", // Required: Template name (3-255 characters)
"package_name": "string", // Required: Intro, Starter, SMB, Business, or Professional.
"default_model_name": "string", // Optional: Default AI model (e.g., "gpt-4o")
"beta_features": boolean, // Optional: Enable beta features (default: false)
"mfa_required": boolean // Optional: Require MFA (default: false)
}
Example Request
curl -X POST 'https://ai.hatz.ai/v1/admin/tenants/templates' \
-H 'X-API-Key: $HATZ_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Standard Business Template",
"package_name": "Professional",
"default_model_name": "gpt-4o",
"beta_features": false,
"mfa_required": true
}'
Response
{
"id": "tentemplate_abc123",
"name": "Standard Business Template",
"package_name": "Professional",
"default_model_name": "gpt-4o",
"beta_features": false,
"mfa_required": true,
"created_at": "2024-01-15T09:00:00Z",
"updated_at": "2024-01-15T09:00:00Z"
}
Update Tenant Creation Template
Update an existing tenant creation template. Only provided fields will be updated.
Endpoint
PUT /v1/admin/tenants/templates/{template_id}
Path Parameters
-
template_id(required): Template HashID (e.g., "tentemplate_abc123")
Request Body
-
name(optional): Template name (3-255 characters) -
package_name(optional): Package name -
default_model_name(optional): Default AI model name. Set to empty string to clear. -
beta_features(optional): Enable beta features -
mfa_required(optional): Require MFA
Example Request
curl -X PUT 'https://ai.hatz.ai/v1/admin/tenants/templates/tentemplate_abc123' \
-H 'X-API-Key: $HATZ_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Updated Business Template",
"mfa_required": true
}'
Response
{
"id": "tentemplate_abc123",
"name": "Updated Business Template",
"package_name": "Professional",
"default_model_name": "gpt-4o",
"beta_features": false,
"mfa_required": true,
"created_at": "2024-01-15T09:00:00Z",
"updated_at": "2024-01-16T10:30:00Z"
}
Example: Clear Default Model
curl -X PUT 'https://ai.hatz.ai/v1/admin/tenants/templates/tentemplate_abc123' \
-H 'X-API-Key: $HATZ_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"default_model_name": ""
}'
Delete Tenant Creation Template
Delete a tenant creation template.
Endpoint
DELETE /v1/admin/tenants/templates/{template_id}
Path Parameters
-
template_id(required): Template HashID (e.g., "tentemplate_abc123")
Example Request
curl -X DELETE 'https://ai.hatz.ai/v1/admin/tenants/templates/tentemplate_abc123' \
-H 'X-API-Key: $HATZ_API_KEY'
Response
Returns
204 No Content
on success.
Error Responses
All endpoints may return the following error responses:
400 Bad Request
{
"detail": "Invalid template ID: Must use template HashID format (tentemplate_xxxxx)"
}
{
"detail": "AI model 'invalid-model' not found or not enabled"
}
{
"detail": "No fields to update"
}
404 Not Found
{
"detail": "Template not found"
}
{
"detail": "Template not found or insufficient permissions"
}
422 Validation Error
{
"detail": [
{
"loc": ["body", "name"],
"msg": "field required",
"type": "value_error.missing"
}
]
}