### Run the installation script Source: https://flowintel.github.io/flowintel-doc/docs/installation Runs the installation script, which creates a Python virtual environment, installs dependencies, sets up the database, and loads sample data. Takes 10 to 15 minutes and asks for your sudo password. For a production install on PostgreSQL, run bash install.safe.sh --production after setting up the database. ```bash bash install.safe.sh ``` -------------------------------- ### GET /api/case/all Source: https://flowintel.github.io/flowintel-doc/docs/api Lists all cases. ```APIDOC ## GET /api/case/all ### Description Lists all cases. ### Method GET ### Endpoint /api/case/all ### Parameters No parameters. ### Request Example (Not provided in source) ### Response #### Success Response (200) - Response body contains the list of cases. #### Response Example (Not provided in source) ``` -------------------------------- ### POST /api/importer/ Source: https://flowintel.github.io/flowintel-doc/docs/api Example of importing a case using the importer API endpoint with Python and curl. ```APIDOC ## [POST] /api/importer/ ### Description Imports a case with its tasks and notes into the system using a JSON payload. ### Method POST ### Endpoint /api/importer/ ### Parameters #### Headers - **X-API-KEY** (string) - Required - API key for authentication. - **Content-Type** (string) - Required - Must be set to `application/json`. #### Request Body - **uuid** (string) - Required - Unique identifier of the case. - **title** (string) - Required - Title of the case. - **description** (string) - Required - Description of the case. - **recurring_type** (null) - Optional - Recurring type of the case. - **notes** (string) - Optional - Additional notes for the case. - **deadline** (null) - Optional - Deadline for the case. - **recurring_date** (null) - Optional - Recurring date for the case. - **tags** (array) - Optional - List of tags for the case. - **clusters** (array) - Optional - List of clusters for the case. - **tasks** (array) - Required - List of tasks associated with the case. - **uuid** (string) - Required - Unique identifier of the task. - **title** (string) - Required - Title of the task. - **description** (string) - Required - Description of the task. - **url** (string) - Optional - URL related to the task. - **notes** (array) - Optional - List of notes for the task. - **uuid** (string) - Required - Unique identifier of the note. - **note** (string) - Required - Content of the note. - **task_uuid** (string) - Required - UUID of the associated task. - **deadline** (null) - Optional - Deadline for the task. - **tags** (array) - Optional - List of tags for the task. - **clusters** (array) - Optional - List of clusters for the task. ### Request Example ```json { "uuid": "be8ebf37-6a11-43d1-a4d2-cce097b2bddd", "title": "Case test", "description": "My super case for the documentation", "recurring_type": null, "notes": "This case is just boring...\nYes it is !", "deadline": null, "recurring_date": null, "tags": [], "clusters": [], "tasks": [ { "uuid": "5a1f4902-9d54-476f-a4f8-2a93cbe20597", "title": "Prepare a super tea", "description": "Keep it as hot as possible", "url": "", "notes": [ { "uuid": "864fa9c7-b4d6-4e9b-80e7-0cc07c894e60", "note": "# Preparation\n- add one sugar\n", "task_uuid": "5a1f4902-9d54-476f-a4f8-2a93cbe20597" } ], "deadline": null, "tags": [ "PAP:RED" ], "clusters": [] } ] } ``` ### Response #### Success Response (200) - **body** (string) - The response body as returned by the server. #### Response Example ``` ``` ``` -------------------------------- ### List cases with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a GET request to /api/case/all to retrieve all cases. Requires an API key in the X-API-KEY header. The response is printed. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE" } url = "http://127.0.0.1:7006/api/case/all" r = requests.get(url, headers=headers) print(r.text) ``` -------------------------------- ### Run Flowintel with Docker Compose Source: https://flowintel.github.io/flowintel-doc/docs/installation Starts Flowintel together with its dependencies (PostgreSQL and Valkey) using Docker Compose. Pulls the published ghcr.io/flowintel/flowintel:latest image and serves Flowintel on port 7006. ```bash docker compose up -d ``` -------------------------------- ### curl POST request to importer API Source: https://flowintel.github.io/flowintel-doc/docs/api curl command to send the JSON example to the importer API. Save the JSON as CaseTest.json first. Replace YOUR-API-KEY-HERE with your API key. ```bash curl -H "Content-Type: application/json"\ -H "X-API-KEY: YOUR-API-KEY-HERE"\ -X POST 127.0.0.1:7006/api/importer/\ -d @CaseTest.json ``` -------------------------------- ### GET /api/admin/roles Source: https://flowintel.github.io/flowintel-doc/docs/api Lists all available roles. ```APIDOC ## GET /api/admin/roles ### Description Lists all available roles. ### Method GET ### Endpoint /api/admin/roles ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### Python POST request to importer API Source: https://flowintel.github.io/flowintel-doc/docs/api Python code to send the JSON example to the importer API. Requires the requests library. Replace YOUR-API-KEY-HERE with your API key. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE", "Content-Type": "application/json" } data = ... # Use the dict above. url = "http://127.0.0.1:7006/api/importer/" r = requests.post(url, json=data, headers=headers) print(r.text) ``` -------------------------------- ### Complete a case with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a GET request to /api/case/1/complete to mark the case with ID 1 as complete. Requires an API key. The response is printed. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE" } url = "http://127.0.0.1:7006/api/case/1/complete" r = requests.get(url, headers=headers) print(r.text) ``` -------------------------------- ### JSON example for importer API Source: https://flowintel.github.io/flowintel-doc/docs/api JSON payload for the importer API. Contains a case with a task and a note. Note the use of None for null values. ```json { "uuid": "be8ebf37-6a11-43d1-a4d2-cce097b2bddd", "title": "Case test", "description": "My super case for the documentation", "recurring_type": None, "notes": "This case is just boring...\nYes it is !", "deadline": None, "recurring_date": None, "tags": [], "clusters": [], "tasks": [ { "uuid": "5a1f4902-9d54-476f-a4f8-2a93cbe20597", "title": "Prepare a super tea", "description": "Keep it as hot as possible", "url": "", "notes": [ { "uuid": "864fa9c7-b4d6-4e9b-80e7-0cc07c894e60", "note": "# Preparation\n- add one sugar\n", "task_uuid": "5a1f4902-9d54-476f-a4f8-2a93cbe20597" } ], "deadline": None, "tags": [ "PAP:RED" ], "clusters": [] } ] } ``` -------------------------------- ### List cases with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a GET request to /api/case/all using curl with an API key header. ```bash curl -H "X-API-KEY: YOUR-API-KEY-HERE" -X GET 127.0.0.1:7006/api/case/all ``` -------------------------------- ### Get analysis result with Flowintel API Source: https://flowintel.github.io/flowintel-doc/docs/api Retrieves the result of an analysis using the session UUID. The endpoint is /api/analyzer/misp-modules/result/. The Python example uses requests; the curl command sends a GET request. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE", "Content-Type": "application/json", } url = "http://127.0.0.1:7006/api/analyzer/misp-modules/result/" r = requests.get(url, headers=headers) print(r.text) ``` ```bash curl -H "Content-Type: application/json"\ -H "X-API-KEY: YOUR-API-KEY-HERE"\ -X GET 127.0.0.1:7006/api/analyzer/misp-modules/result/ ``` -------------------------------- ### Check analysis status with Flowintel API Source: https://flowintel.github.io/flowintel-doc/docs/api Checks the status of an analysis using the session UUID. The endpoint is /api/analyzer/misp-modules/status/. The Python example uses requests; the curl command sends a GET request. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE", "Content-Type": "application/json", } url = "http://127.0.0.1:7006/api/analyzer/misp-modules/status/" r = requests.get(url, headers=headers) print(r.text) ``` ```bash curl -H "Content-Type: application/json"\ -H "X-API-KEY: YOUR-API-KEY-HERE"\ -X GET 127.0.0.1:7006/api/analyzer/misp-modules/status/ ``` -------------------------------- ### GET /api/analyzer/misp-modules/result/{session_uuid} Source: https://flowintel.github.io/flowintel-doc/docs/api Gets the result of an analysis session. ```APIDOC ## [GET] /api/analyzer/misp-modules/result/{session_uuid} ### Description Gets the result of an analysis session. ### Method GET ### Endpoint /api/analyzer/misp-modules/result/{session_uuid} ### Parameters #### Path Parameters - **session_uuid** (string) - Required - The UUID of the analysis session. ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### Complete a case with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a GET request to /api/case/1/complete using curl with an API key header. ```bash curl -H "X-API-KEY: YOUR-API-KEY-HERE" -X GET 127.0.0.1:7006/api/case/1/complete ``` -------------------------------- ### Create a case with Flowintel API Source: https://flowintel.github.io/flowintel-doc/docs/api Creates a new case via the Flowintel API. Requires an API key and the endpoint /api/template/create_case. The Python example uses the requests library; the curl command sends a POST request with JSON data. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE", "Content-Type": "application/json" } data = { "title": "Super Template Case from API" } url = "http://127.0.0.1:7006/api/template/create_case" r = requests.post(url, json=data, headers=headers) print(r.text) ``` ```bash curl -H "Content-Type: application/json"\ -H "X-API-KEY: YOUR-API-KEY-HERE"\ -X POST 127.0.0.1:7006/api/template/create_case\ -d '{"title": "Super Template Case from API"}' ``` -------------------------------- ### GET /api/case/{id}/complete Source: https://flowintel.github.io/flowintel-doc/docs/api Completes a case by its ID. ```APIDOC ## GET /api/case/{id}/complete ### Description Completes a case by its ID. ### Method GET ### Endpoint /api/case/{id}/complete ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the case to complete. ### Request Example (Not provided in source) ### Response #### Success Response (200) - Response body contains the result of the completion. #### Response Example (Not provided in source) ``` -------------------------------- ### GET /api/analyzer/misp-modules/status/{session_uuid} Source: https://flowintel.github.io/flowintel-doc/docs/api Checks the status of an analysis session. ```APIDOC ## [GET] /api/analyzer/misp-modules/status/{session_uuid} ### Description Checks the status of an analysis session. ### Method GET ### Endpoint /api/analyzer/misp-modules/status/{session_uuid} ### Parameters #### Path Parameters - **session_uuid** (string) - Required - The UUID of the analysis session. ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### GET /api/case/{case_id}/tasks Source: https://flowintel.github.io/flowintel-doc/docs/api Lists all tasks for a specific case. ```APIDOC ## GET /api/case/{case_id}/tasks ### Description Lists all tasks for a specific case. ### Method GET ### Endpoint /api/case/{case_id}/tasks ### Parameters #### Path Parameters - **case_id** (integer) - Required - The ID of the case whose tasks are to be listed. ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### GET /api/task/{task_id}/delete Source: https://flowintel.github.io/flowintel-doc/docs/api Deletes a specific task. ```APIDOC ## GET /api/task/{task_id}/delete ### Description Deletes a specific task. ### Method GET ### Endpoint /api/task/{task_id}/delete ### Parameters #### Path Parameters - **task_id** (integer) - Required - The ID of the task to delete. ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### GET /api/task/{task_id}/complete Source: https://flowintel.github.io/flowintel-doc/docs/api Marks a specific task as complete. ```APIDOC ## GET /api/task/{task_id}/complete ### Description Marks a specific task as complete. ### Method GET ### Endpoint /api/task/{task_id}/complete ### Parameters #### Path Parameters - **task_id** (integer) - Required - The ID of the task to complete. ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### Create a case from a template with Flowintel API Source: https://flowintel.github.io/flowintel-doc/docs/api Creates a case from an existing template using the endpoint /api/template/create_case_from_template/1. The template must be created beforehand. The Python example uses requests; the curl command sends a POST request with JSON data. ```python # A template need to be created before headers = { "X-API-KEY": "YOUR-API-KEY-HERE", "Content-Type": "application/json" } data = { "title": "Super Case from Template API" } url = "http://127.0.0.1:7006/api/template/create_case_from_template/1" r = requests.post(url, json=data, headers=headers) print(r.text) ``` ```bash curl -H "Content-Type: application/json"\ -H "X-API-KEY: YOUR-API-KEY-HERE"\ -X POST 127.0.0.1:7006/api/template/create_case_from_template/1\ -d '{"title": "Super Case from Template API"}' ``` -------------------------------- ### GET /api/case/{id}/delete Source: https://flowintel.github.io/flowintel-doc/docs/api Deletes a case by its ID. ```APIDOC ## GET /api/case/{id}/delete ### Description Deletes a case by its ID. ### Method GET ### Endpoint /api/case/{id}/delete ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the case to delete. ### Request Example (Not provided in source) ### Response #### Success Response (200) - Response body contains the result of the deletion. #### Response Example (Not provided in source) ``` -------------------------------- ### Delete a case with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a GET request to /api/case/1/delete to delete the case with ID 1. Requires an API key. The response is printed. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE" } url = "http://127.0.0.1:7006/api/case/1/delete" r = requests.get(url, headers=headers) print(r.text) ``` -------------------------------- ### Delete a case with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a GET request to /api/case/1/delete using curl with an API key header. ```bash curl -H "X-API-KEY: YOUR-API-KEY-HERE" -X GET 127.0.0.1:7006/api/case/1/delete ``` -------------------------------- ### Flowintel case import JSON format Source: https://flowintel.github.io/flowintel-doc/docs/importer JSON format required to import a case and its tasks into Flowintel. The example shows a case with a single task, including optional fields like deadline, recurring_date, notes, tags, and clusters. ```json { "title": "Super Case", "description": "My super case for the documentation", "uuid": "0b1f9a85-0d38-46a1-b9dd-1eeea1608308", "deadline": null, "recurring_date": null, "recurring_type": null, "notes": "This case is just boring...", "tags": [], "clusters": [], "tasks": [ { "title": "Prepare a super tea", "description": "Keep it as hot as possible", "uuid": "ddd271b4-d7f8-4af0-a9b3-46ad52aca1bf", "notes": [ { "uuid": "", "note": "# Preparation\n- add one sugar\n", "task_uuid": "ddd271b4-d7f8-4af0-a9b3-46ad52aca1bf" } ], "url": "", "deadline": null, "tags": ["PAP:RED"], "clusters": [] } ] } ``` -------------------------------- ### Send a query to Flowintel analyzer Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a query to Flowintel's MISP modules analyzer. The request specifies domains to analyze and the modules to use. The Python example uses requests; the curl command sends a POST request with JSON data. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE", "Content-Type": "application/json", } data = { "query": ["circl.lu", "hack.lu"], "input": "domain", "modules": ["circl_passivedns", "dns"] } url = "http://127.0.0.1:7006/api/analyzer/misp-modules/query" r = requests.post(url, json=data, headers=headers) print(r.text) ``` ```bash curl -H "Content-Type: application/json"\ -H "X-API-KEY: YOUR-API-KEY-HERE"\ -X POST 127.0.0.1:7006/api/analyzer/misp-modules/query\ -d '{"query": ["circl.lu", "hack.lu"], "input": "domain", "modules": ["circl_passivedns", "dns"]}' ``` -------------------------------- ### List tasks with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Lists tasks for a case using the /api/case/1/tasks endpoint. Requires an API key. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE" } url = "http://127.0.0.1:7006/api/case/1/tasks" r = requests.get(url, headers=headers) print(r.text) ``` -------------------------------- ### List roles with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Lists roles using the /api/admin/roles endpoint. Requires an API key. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE" } url = "http://127.0.0.1:7006/api/admin/roles" r = requests.get(url, headers=headers) print(r.text) ``` -------------------------------- ### Run Flowintel in development mode Source: https://flowintel.github.io/flowintel-doc/docs/installation Launches Flowintel in development mode. It listens on http://127.0.0.1:7006 by default; press Ctrl+C to stop it. ```bash bash launch.sh -l ``` -------------------------------- ### Create a case with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a POST request to /api/case/create using curl with JSON data and API key header. The command is shown with line continuations. ```bash curl -H "Content-Type: application/json"\ -H "X-API-KEY: YOUR-API-KEY-HERE"\ -X POST 127.0.0.1:7006/api/case/create\ -d '{"title": "Super Case from API"}' ``` -------------------------------- ### List tasks with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Lists tasks for a case using the /api/case/1/tasks endpoint. Requires an API key. ```bash curl -H "X-API-KEY: YOUR-API-KEY-HERE" -X GET 127.0.0.1:7006/api/case/1/tasks ``` -------------------------------- ### Copy default configuration files Source: https://flowintel.github.io/flowintel-doc/docs/installation Copies the default configuration files to their active names. The main settings are in conf/config.py; review conf/config_module.py if you plan to use modules such as connectors, analysers, or notifications. ```bash cp conf/config.py.default conf/config.py cp conf/config_module.py.default conf/config_module.py ``` -------------------------------- ### List roles with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Lists roles using the /api/admin/roles endpoint. Requires an API key. ```bash curl -H "X-API-KEY: YOUR-API-KEY-HERE" -X GET 127.0.0.1:7006/api/admin/roles ``` -------------------------------- ### POST /api/case/create Source: https://flowintel.github.io/flowintel-doc/docs/api Creates a new case with the provided title. ```APIDOC ## POST /api/case/create ### Description Creates a new case with the provided title. ### Method POST ### Endpoint /api/case/create ### Parameters #### Request Body - **title** (string) - Required - The title of the case to create. ### Request Example { "title": "Super Case from API" } ### Response #### Success Response (200) - Response body contains the result of the creation. #### Response Example (Not provided in source) ``` -------------------------------- ### POST /api/admin/add_user Source: https://flowintel.github.io/flowintel-doc/docs/api Adds a new user to the system. ```APIDOC ## POST /api/admin/add_user ### Description Adds a new user to the system. ### Method POST ### Endpoint /api/admin/add_user ### Parameters #### Request Body - **first_name** (string) - Required - The first name of the user. - **last_name** (string) - Required - The last name of the user. - **email** (string) - Required - The email address of the user. - **password** (string) - Required - The password for the user. - **role** (integer) - Required - The role ID assigned to the user. ### Request Example { "first_name": "John", "last_name": "Doe", "email": "j.d@j.admin", "password": "Password1234", "role": 1 } ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### Create a case with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a POST request to /api/case/create with a JSON payload containing the case title. Requires an API key in the X-API-KEY header. The response is printed to the console. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE", "Content-Type": "application/json" } data = { "title": "Super Case from API" } url = "http://127.0.0.1:7006/api/case/create" r = requests.post(url, json=data, headers=headers) print(r.text) ``` -------------------------------- ### Create a task with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Creates a task for a case using the /api/case/1/create_task endpoint. Requires an API key and Content-Type header. The request body includes the task title. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE", "Content-Type": "application/json" } data = { "title": "First task from API" } url = "http://127.0.0.1:7006/api/case/1/create_task" r = requests.post(url, json=data, headers=headers) print(r.text) ``` -------------------------------- ### Create a custom module with module_config and handler Source: https://flowintel.github.io/flowintel-doc/docs/connectors Defines the required module_config dictionary and handler function for a custom Flowintel module. The handler receives instance, case, and user parameters; the connector key is optional. ```python module_config = { "connector": "", # type of connector to use, can be removed "case_task": "" # 'case' or 'task' } def handler(instance, case, user): """ instance: Info about the connector like name, api_key... case: Dictionary with all case info, including all its tasks user: Info on the user who uses the module """ # Write your code here # ... ``` -------------------------------- ### Add user with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Adds a user via the /api/admin/add_user endpoint. Requires an API key and Content-Type header. The request body includes first_name, last_name, email, password, and role. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE", "Content-Type": "application/json" } data = { "first_name": "John", "last_name": "Doe", "email": "j.d@j.admin", "password": "Password1234", "role": 1 } url = "http://127.0.0.1:7006/api/admin/add_user" r = requests.post(url, json=data, headers=headers) print(r.text) ``` -------------------------------- ### Clone the Flowintel repository Source: https://flowintel.github.io/flowintel-doc/docs/installation Clones the Flowintel repository and changes into the project directory. ```bash git clone https://github.com/flowintel/flowintel.git cd flowintel ``` -------------------------------- ### POST /api/template/create_case_from_template/{template_id} Source: https://flowintel.github.io/flowintel-doc/docs/api Creates a new case from an existing template identified by its ID. ```APIDOC ## [POST] /api/template/create_case_from_template/{template_id} ### Description Creates a new case from an existing template identified by its ID. ### Method POST ### Endpoint /api/template/create_case_from_template/{template_id} ### Parameters #### Path Parameters - **template_id** (integer) - Required - The ID of the template to use. #### Request Body - **title** (string) - Required - The title of the new case. ### Request Example { "title": "Super Case from Template API" } ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### POST /api/template/create_case Source: https://flowintel.github.io/flowintel-doc/docs/api Creates a new case with the provided title. ```APIDOC ## [POST] /api/template/create_case ### Description Creates a new case with the provided title. ### Method POST ### Endpoint /api/template/create_case ### Parameters #### Request Body - **title** (string) - Required - The title of the case to create. ### Request Example { "title": "Super Template Case from API" } ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### Create a task with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Creates a task for a case using the /api/case/1/create_task endpoint. Requires an API key and Content-Type header. The request body includes the task title. ```bash curl -H "Content-Type: application/json"\ -H "X-API-KEY: YOUR-API-KEY-HERE"\ -X POST 127.0.0.1:7006/api/case/1/create_task\ -d '{"title": "First task from API"}' ``` -------------------------------- ### Open the notification screen for debugging Source: https://flowintel.github.io/flowintel-doc/docs/notifications Use this command to attach to the background screen session named 'fcm' to debug notifications. ```bash screen -r fcm ``` -------------------------------- ### Complete a task with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Completes a task using the /api/task/1/complete endpoint. Requires an API key. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE" } url = "http://127.0.0.1:7006/api/task/1/complete" r = requests.get(url, headers=headers) print(r.text) ``` -------------------------------- ### POST /api/analyzer/misp-modules/query Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a query to Flowintel for analysis using MISP modules. ```APIDOC ## [POST] /api/analyzer/misp-modules/query ### Description Sends a query to Flowintel for analysis using MISP modules. ### Method POST ### Endpoint /api/analyzer/misp-modules/query ### Parameters #### Request Body - **query** (array of strings) - Required - The list of values to analyze. - **input** (string) - Required - The type of input (e.g., "domain"). - **modules** (array of strings) - Required - The list of MISP modules to use. ### Request Example { "query": ["circl.lu", "hack.lu"], "input": "domain", "modules": ["circl_passivedns", "dns"] } ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### Search a case with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a POST request to /api/case/search with a JSON payload containing a search term. Requires an API key. The response is printed. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE" } data = { "search": "Case" } url = "http://127.0.0.1:7006/api/case/search" r = requests.post(url, json=data, headers=headers) print(r.text) ``` -------------------------------- ### Add user with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Adds a user via the /api/admin/add_user endpoint. Requires an API key and Content-Type header. The request body includes first_name, last_name, email, password, and role. ```bash curl -H "Content-Type: application/json"\ -H "X-API-KEY: YOUR-API-KEY-HERE"\ -X POST 127.0.0.1:7006/api/admin/add_user\ -d '{"first_name": "John", "last_name": "Doe", "email": "j.d@j.admin", "password": "Password1234", "role": 1}' ``` -------------------------------- ### POST /api/case/{case_id}/create_task Source: https://flowintel.github.io/flowintel-doc/docs/api Creates a new task for a specific case. ```APIDOC ## POST /api/case/{case_id}/create_task ### Description Creates a new task for a specific case. ### Method POST ### Endpoint /api/case/{case_id}/create_task ### Parameters #### Path Parameters - **case_id** (integer) - Required - The ID of the case to which the task will be added. #### Request Body - **title** (string) - Required - The title of the task. ### Request Example { "title": "First task from API" } ### Response #### Success Response (200) - **response** (string) - The response body from the server. #### Response Example { "response": "..." } ``` -------------------------------- ### Complete a task with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Completes a task using the /api/task/1/complete endpoint. Requires an API key. ```bash curl -H "X-API-KEY: YOUR-API-KEY-HERE" -X GET 127.0.0.1:7006/api/task/1/complete ``` -------------------------------- ### Search a case with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Sends a POST request to /api/case/search using curl with JSON data and API key header. ```bash curl -H "Content-Type: application/json"\ -H "X-API-KEY: YOUR-API-KEY-HERE"\ -X POST 127.0.0.1:7006/api/case/search\ -d '{"search": "Case"}' ``` -------------------------------- ### POST /api/case/search Source: https://flowintel.github.io/flowintel-doc/docs/api Searches for cases matching the provided search string. ```APIDOC ## POST /api/case/search ### Description Searches for cases matching the provided search string. ### Method POST ### Endpoint /api/case/search ### Parameters #### Request Body - **search** (string) - Required - The search string to match against cases. ### Request Example { "search": "Case" } ### Response #### Success Response (200) - Response body contains the search results. #### Response Example (Not provided in source) ``` -------------------------------- ### Delete a task with Python Source: https://flowintel.github.io/flowintel-doc/docs/api Deletes a task using the /api/task/1/delete endpoint. Requires an API key. ```python headers = { "X-API-KEY": "YOUR-API-KEY-HERE" } url = "http://127.0.0.1:7006/api/task/1/delete" r = requests.get(url, headers=headers) print(r.text) ``` -------------------------------- ### Delete a task with curl Source: https://flowintel.github.io/flowintel-doc/docs/api Deletes a task using the /api/task/1/delete endpoint. Requires an API key. ```bash curl -H "X-API-KEY: YOUR-API-KEY-HERE" -X GET 127.0.0.1:7006/api/task/1/delete ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.