Import

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"
    }
  ]
}
Was this helpful?