Description
Import a case template into a team from a previously exported payload. Case input fields referenced by the template are resolved against the destination team, so templates can move between teams and tenants.
Request
HTTP Method: POST
| Parameter | Description |
|---|---|
| team_id | The ID of the team to import the case template into. |
| data | JSON object representing the case template in exported form. |
The options object inside each template describes the case template configuration. See Options fields below for the shape of each key.
Options fields
| Parameter | Description |
|---|---|
| case_name | Optional The case name template. May contain field mentions written as <@case_input-slug:my_field> or :case_input{#slug:my_field}, which are rewritten to use IDs in the destination team on import. |
| case_description | Optional The case description template. Supports markdown and field mentions, which are rewritten to use destination-team field IDs on import. |
| priority | Optional The case priority - critical, high, medium, low or info. |
| tag_names | Optional An array of tag name strings. Tags are found or created on the destination team. |
| sub_status | Optional An object describing the case sub-status, with keys name, parent_status (open or closed), and icon. Matched against an existing sub-status on the destination team or created if not found. |
| assignee_emails | Optional An array of user email addresses. Emails that do not match a user on the destination team are dropped. Formula entries are preserved. |
| team_case_buttons | Optional An array of button objects for downstream actions associated with the case. Each object has button_type (one of webhook, story, page, or url), url (tenant-specific webhook URLs may need updating after import to another tenant), label (tooltip), and button_text (text shown on the button). |
| blocks | Optional An array of block objects associated with the case. Each object has block_type, title, and an elements array whose shape varies by block_type. Field mentions inside block element content are rewritten to use destination-team field IDs on import. |
| team_case_tasks | Optional An array of task objects associated with the case. Each object has description and an optional assignee_emails array; emails that do not match a user on the destination team are dropped on import. |
| closure_conditions | Optional An array of closure requirements in the form of a set of formula rules that need to evaluate to true to enable the closing of a case. Each entry has a name and a formula. |
| metadata | Optional Case-related metadata represented as key-value pairs. |
curl -X POST \
https://<<META.tenant.domain>>/api/v1/case_templates/import \
-H 'content-type: application/json' \
-H 'Authorization: Bearer <<CREDENTIAL.tines_api_key>>' \
-d '{
"team_id": 1,
"data": {
"schema_version": 1,
"exported_at": "2026-05-25T10:00:00Z",
"templates": [
{
"name": "Phishing investigation",
"emoji": "🎣",
"options": {
"case_name": "Phishing report for <<recipient>>",
"case_description": "Investigate reported phishing email from <@case_input-slug:reporter_email>.",
"priority": "high",
"tag_names": ["phishing", "email"],
"sub_status": {
"name": "Triage",
"parent_status": "open",
"icon": "in_progress"
},
"assignee_emails": ["analyst@example.com"],
"team_case_buttons": [
{
"button_type": "page",
"url": "https://tenant.tines.com/pages/55e94b9b4e26175051c0287f4259363f/",
"label": "Isolate host and give reason",
"button_text": "Open form"
}
],
"blocks": [
{
"title": "Investigation notes",
"block_type": "note",
"elements": [
{
"content": "Initial triage required for reporter <@case_input-slug:reporter_email>.",
"note_type": "text",
"color": "gold"
}
]
}
],
"team_case_tasks": [
{
"description": "Review headers and attachments",
"assignee_emails": ["analyst@example.com"]
}
],
"closure_conditions": [
{
"name": "has at least 1 assignee",
"formula": "=SIZE(team_case.assignees) > 0"
}
],
"metadata": {
"source": "user_report"
}
},
"input_values": [
{
"field_slug": "reporter_email",
"value": "user@example.com"
}
],
"field_definitions": [
{
"slug": "reporter_email",
"name": "Reporter email",
"input_type": "string",
"sensitive": false
}
]
}
]
}
}'
Response
A successful request returns a JSON object containing an array of the case templates created in the destination team.
Field description
| Parameter | Description |
|---|---|
| case_templates | An array of case templates created by the import. |
Each entry in case_templates contains:
| Parameter | Description |
|---|---|
| id | The case template ID. |
| name | The case template name. |
| emoji | The emoji associated with the case template. |
| team | An object containing the ID and name of the team the template belongs to. |
| created_at | ISO 8601 timestamp representing when the case template was created. |
| updated_at | ISO 8601 timestamp representing when the case template was last updated. |
Sample response
{
"case_templates": [
{
"id": 4821,
"name": "Phishing investigation",
"emoji": "🎣",
"team": {
"id": 1,
"name": "Security"
},
"created_at": "2026-05-25T10:05:00Z",
"updated_at": "2026-05-25T10:05:00Z"
}
]
}