Skip to main content

Import

Description#

Import a new story

Request#

HTTP Method: POST

Query ParameterDescription
new_nameThe new name for the story.
dataJSON object representing the story in exported form
team_idOptional ID of team to which the story should be added.
folder_idOptional ID of folder to which the story should be added.

curl -X POST \  https://<tenant-domain>/api/v1/stories/import \  -H 'content-type: application/json' \  -H 'x-user-email: <email-address' \  -H 'x-user-token: <api-token>'  -d '{        "new_name": "Imported story",        "team_id": 2,        "folder_id": 1,        "data": {          "schema_version": 3,          "name": "Simple story",          "description": "In the simple story we will create a fictional situation where a detection system is configured to send alerts to our Tines tenant. The alert will contain the type of alert (infection, ddos, credential stuffing, etc.) and details on any users affected. If the alert is related to an infection, based on the users job title, we will take a specific action.\r\n\r\nThe simple story is described in detail in the Tines Docs(https://hub.tines.com/docs/quickstart/simple-story/).\r\n\r\nUse the following URL command (replace $webhook-url with the webhook URL in the ''Summary\" tab of the 'Receive events' action) to send events to this story:\r\n\r\ncurl $webhook-url -X POST -H \"Content-Type: application/json\" -d '{\"event_name\":\"My first event\",\"type\":\"infection\",\"users\":[{\"name\":\"alice\",\"age\":25,\"country\":\"US\",\"job\":\"Engineer\"},{\"name\":\"bob\",\"age\":20,\"country\":\"UK\",\"job\":\"Student\"},{\"name\":\"carol\",\"age\":61,\"country\":\"Ireland\",\"job\":\"CEO\"}]}'",          "guid": "31fca4bedaf10c096027428a6de59317",          "exported_at": "2021-03-23T08:19:24Z",          "agents": [            {              "type": "Agents::TriggerAgent",              "name": "User is ceo",              "disabled": false,              "guid": "0b4edda0e22d7d36e2bb61498bd76f7e",              "options": {                "rules": [                  {                    "type": "regex",                    "value": "ceo",                    "path": "{{.explode_users.user.job}}"                  }                ]              },              "keep_events_for": 0            },            {              "type": "Agents::EmailAgent",              "name": "Notify by email",              "disabled": false,              "guid": "da7d3d8895f1c2656ce493fe08a92d31",              "options": {                "recipients": "tinesdemouser@outlook.com",                "subject": "Engineer in infected",                "body": "Hello,<br/><br/>An alert has been detected that relates to an infected engineer. The users details are shown below:<br/><b>Name:</b> {{.explode_users.user.name}}<br/><b>Age:</b> {{.explode_users.user.age}}<br/><b>Country:</b> {{.explode_users.user.country}}<br/><br/>Thanks!"              },              "schedule": null,              "keep_events_for": 0            },            {              "type": "Agents::WebhookAgent",              "name": "Receive events",              "disabled": false,              "guid": "86958e9f9265a2ee62051f9ca849afe0",              "options": {                "secret": "201367c22bd83f4e79ac81aa9f9efb7c",                "verbs": "post",                "include_headers": "false"              },              "keep_events_for": 0            },            {              "type": "Agents::TriggerAgent",              "name": "Type is infection",              "disabled": false,              "guid": "26e53a744d9902f33157a27851f9698c",              "options": {                "rules": [                  {                    "type": "regex",                    "value": "infection",                    "path": "{{ .receive_events.type }}"                  }                ]              },              "keep_events_for": 0            },            {              "type": "Agents::EventTransformationAgent",              "name": "Explode users",              "disabled": false,              "guid": "0e04d783765b092f50f9f1865a5ec32c",              "options": {                "mode": "explode",                "path": "{{.receive_events.users}}",                "to": "user"              },              "schedule": null,              "keep_events_for": 0            },            {              "type": "Agents::TriggerAgent",              "name": "User is student",              "disabled": false,              "guid": "71e74a31f75a346e85eecaed2e417ec6",              "options": {                "rules": [                  {                    "type": "regex",                    "value": "student",                    "path": "{{.explode_users.user.job}}"                  }                ]              },              "keep_events_for": 0            },            {              "type": "Agents::TriggerAgent",              "name": "User is engineer",              "disabled": false,              "guid": "ad401cd734aa03406ace8a373cbf04f3",              "options": {                "rules": [                  {                    "type": "regex",                    "value": "engineer",                    "path": "{{.explode_users.user.job}}"                  }                ]              },              "keep_events_for": 0            },            {              "type": "Agents::HTTPRequestAgent",              "name": "Send a post request",              "disabled": false,              "guid": "c2a0edfee0cdd70889bc8fc9cc973786",              "options": {                "url": "https://postman-echo.com/post",                "content_type": "json",                "method": "post",                "payload": {                  "name": "{{.explode_users.user.name}}",                  "age": "{{.explode_users.user.age}}",                  "country": "{{.explode_users.user.country}}",                  "job": "{{.explode_users.user.job}}"                },                "log_error_on_status": []              },              "schedule": null,              "keep_events_for": 0            }          ],          "diagram_notes": [],          "links": [            {              "source": 0,              "receiver": 7            },            {              "source": 2,              "receiver": 3            },            {              "source": 3,              "receiver": 4            },            {              "source": 4,              "receiver": 6            },            {              "source": 4,              "receiver": 5            },            {              "source": 4,              "receiver": 0            },            {              "source": 6,              "receiver": 1            }          ],          "diagram_layout": "{\"0b4edda0e22d7d36e2bb61498bd76f7e\":[105.0,-195.0],\"da7d3d8895f1c2656ce493fe08a92d31\":[345.0,-120.0],\"86958e9f9265a2ee62051f9ca849afe0\":[345.0,-435.0],\"26e53a744d9902f33157a27851f9698c\":[345.0,-360.0],\"0e04d783765b092f50f9f1865a5ec32c\":[345.0,-285.0],\"71e74a31f75a346e85eecaed2e417ec6\":[570.0,-195.0],\"ad401cd734aa03406ace8a373cbf04f3\":[345.0,-195.0],\"c2a0edfee0cdd70889bc8fc9cc973786\":[105.0,-120.0]}",          "send_to_story_enabled": false,          "entry_agent_guid": null,          "exit_agent_guids": [],          "exit_agent_guid": null,          "send_to_stories": [],          "form": {            "name": "Simple story Form",            "description": "",            "fields": [],            "visibility": "tenant",            "agent_guid": null,            "success_message": "Thank you for your submission"          }        }      }'

Response#

A successful request will return a JSON object describing the newly created story

Field description#

ParameterDescription
idThe story ID.
nameThe story name.
user_idID of story owner.
descriptionA user-defined description of the story.
created_atISO 8601 Timestamp representing date and time the story was created.
updated_atISO 8601 Timestamp representing date and time the story was last updated.
keep_events_forDefined event retention period in seconds.
disabledBoolean flag indicating whether story is disabled.
priorityBoolean flag indicating whether story is hight priority story.
guidUnique identifier of the story.
team_idID of team to which the story belongs.
folder_idID of folder to which the story belongs.

Sample response#

{  "id": 2,  "name": "Imported story",  "user_id": 1,  "created_at": "2021-03-235T20:06:14.825Z",  "updated_at": "2021-03-23T20:06:14.825Z",  "description": "In the simple story we will create a fictional situation where a detection system is configured to send alerts to our Tines tenant. The alert will contain the type of alert (infection, ddos, credential stuffing, etc.) and details on any users affected. If the alert is related to an infection, based on the users job title, we will take a specific action.\r\n\r\nThe simple story is described in detail in the Tines Docs(https://hub.tines.com/docs/quickstart/simple-story/).\r\n\r\nUse the following URL command (replace $webhook-url with the webhook URL in the ''Summary\" tab of the 'Receive events' action) to send events to this story:\r\n\r\ncurl $webhook-url -X POST -H \"Content-Type: application/json\" -d '{\"event_name\":\"My first event\",\"type\":\"infection\",\"users\":[{\"name\":\"alice\",\"age\":25,\"country\":\"US\",\"job\":\"Engineer\"},{\"name\":\"bob\",\"age\":20,\"country\":\"UK\",\"job\":\"Student\"},{\"name\":\"carol\",\"age\":61,\"country\":\"Ireland\",\"job\":\"CEO\"}]}'",  "guid": "b7c81e0cb416ae8f4c00874ca7b1cdf8",  "keep_events_for": 604800,  "disabled": false,  "priority": false,  "team_id": 2,  "folder_id": 1}