# Node

Operations for managing output endpoints (IotEndpoints) — reusable, account-level output destinations (Navixy platform or external MQTT broker) that are referenced by Output Endpoint nodes inside flows.

## endpointCreate

> Create a new node within a flow. Supports all node types existing in IoT Logic. The node type is specified in the request body's type field.&#x20;

```json
{"openapi":"3.1.0","info":{"title":"Navixy IoT Logic API","version":"1.0.0"},"tags":[{"name":"Node","description":"Operations for managing output endpoints (IotEndpoints) — reusable, account-level output destinations (Navixy platform or external MQTT broker) that are referenced by Output Endpoint nodes inside flows."}],"servers":[{"url":"https://api.eu.navixy.com/v2","description":"Navixy production server on European platform"},{"url":"https://api.us.navixy.com/v2","description":"Navixy production server on American platform"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","description":"Enter an API key with the \"NVX: \" prefix, e.g. \"NVX 123456abcdefg\"","name":"Authorization","in":"header"}},"schemas":{"IotEndpointDraft":{"description":"Endpoint for creation. The type field determines the subtype and the required properties.","oneOf":[{"$ref":"#/components/schemas/IotDefaultEndpointDraft"},{"$ref":"#/components/schemas/IotMqttEndpointDraft"}],"discriminator":{"propertyName":"type","mapping":{"output_default":"#/components/schemas/IotDefaultEndpointDraft","output_mqtt_client":"#/components/schemas/IotMqttEndpointDraft"}}},"IotDefaultEndpointDraft":{"type":"object","description":"Navixy platform (output_default) endpoint — create/update payload.","properties":{"type":{"type":"string","enum":["output_default"],"description":"Endpoint type. Always 'output_default' for this subtype."},"title":{"type":"string","description":"Endpoint title"},"status":{"$ref":"#/components/schemas/IotEndpointStatus"},"description":{"type":["string","null"],"description":"Endpoint description (optional, max 4000 characters).","maxLength":4000}},"required":["type","title","status"]},"IotEndpointStatus":{"type":"string","description":"Endpoint connection status.","enum":["active","waiting_reconnect","suspend","disabled"]},"IotMqttEndpointDraft":{"type":"object","description":"MQTT client (output_mqtt_client) endpoint — create/update payload.","properties":{"type":{"type":"string","enum":["output_mqtt_client"],"description":"Endpoint type. Always 'output_mqtt_client' for this subtype."},"title":{"type":"string","description":"Endpoint title"},"status":{"$ref":"#/components/schemas/IotEndpointStatus"},"description":{"type":["string","null"],"description":"Endpoint description (optional, max 4000 characters).","maxLength":4000},"properties":{"$ref":"#/components/schemas/IotEndpointMqttClientProperties"}},"required":["type","title","status","properties"]},"IotEndpointMqttClientProperties":{"type":"object","description":"MQTT client endpoint","properties":{"protocol":{"type":"string","description":"Protocol of messages: \"NGP\" (Navixy Generic Protocol)"},"domain":{"type":"string","description":"MQTT domain or IP address"},"port":{"type":"integer","description":"MQTT port"},"client_id":{"type":"string","description":"MQTT client ID"},"qos":{"type":"integer","description":"MQTT QoS: 0 or 1 (2 is unsupported at the moment)"},"topics":{"type":"array","items":{"type":"string","description":"MQTT topic name"}},"version":{"type":"string","description":"MQTT version: \"3.1.1\" or \"5.0\""},"use_ssl":{"type":"boolean","description":"Use or not SSL encryption for MQTT connection"},"mqtt_auth":{"type":"boolean","description":"Use or not MQTT authentication"},"user_name":{"type":"string","description":"MQTT user name"},"user_password":{"type":"string","description":"MQTT password"}},"required":["protocol","domain","port","client_id","qos","topics","version","use_ssl","mqtt_auth"]}},"responses":{"EntityCreatedResponse":{"description":"Successful creation response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"`true` if request finished successfully","readOnly":true},"id":{"type":"integer","description":"ID of the created entity","readOnly":true}}}}}},"ResponseError":{"description":"Error response object","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false."},"status":{"type":"object","description":"Error status. It only presence when an error occurred.","properties":{"code":{"type":"integer","description":"An error code in this API (not a HTTP code)"},"description":{"type":"string","description":"An error description"}}}}}}}}}},"paths":{"/iot/logic/flow/endpoint/create":{"post":{"tags":["Node"],"summary":"endpointCreate","description":"Create a new node within a flow. Supports all node types existing in IoT Logic. The node type is specified in the request body's type field. ","operationId":"endpointCreate","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"endpoint":{"$ref":"#/components/schemas/IotEndpointDraft"}},"required":["endpoint"]}}}},"responses":{"200":{"$ref":"#/components/responses/EntityCreatedResponse"},"default":{"$ref":"#/components/responses/ResponseError"}}}}}}
```

## endpointRead

> Retrieve detailed configuration for a specific node. Returns complete node data including type-specific configuration, position, and enabled status. Use this endpoint to inspect individual node configuration without retrieving the entire flow.

```json
{"openapi":"3.1.0","info":{"title":"Navixy IoT Logic API","version":"1.0.0"},"tags":[{"name":"Node","description":"Operations for managing output endpoints (IotEndpoints) — reusable, account-level output destinations (Navixy platform or external MQTT broker) that are referenced by Output Endpoint nodes inside flows."}],"servers":[{"url":"https://api.eu.navixy.com/v2","description":"Navixy production server on European platform"},{"url":"https://api.us.navixy.com/v2","description":"Navixy production server on American platform"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","description":"Enter an API key with the \"NVX: \" prefix, e.g. \"NVX 123456abcdefg\"","name":"Authorization","in":"header"}},"schemas":{"IotEndpoint":{"description":"Output endpoint — full representation. Use the type field to determine which subtype applies.","oneOf":[{"$ref":"#/components/schemas/IotDefaultEndpoint"},{"$ref":"#/components/schemas/IotEndpointMqtt"}],"discriminator":{"propertyName":"type","mapping":{"output_default":"#/components/schemas/IotDefaultEndpoint","output_mqtt_client":"#/components/schemas/IotEndpointMqtt"}}},"IotDefaultEndpoint":{"type":"object","description":"Navixy platform (output_default) endpoint — full representation including id.","allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Endpoint ID inside user account","readOnly":true}}},{"$ref":"#/components/schemas/IotDefaultEndpointDraft"}]},"IotDefaultEndpointDraft":{"type":"object","description":"Navixy platform (output_default) endpoint — create/update payload.","properties":{"type":{"type":"string","enum":["output_default"],"description":"Endpoint type. Always 'output_default' for this subtype."},"title":{"type":"string","description":"Endpoint title"},"status":{"$ref":"#/components/schemas/IotEndpointStatus"},"description":{"type":["string","null"],"description":"Endpoint description (optional, max 4000 characters).","maxLength":4000}},"required":["type","title","status"]},"IotEndpointStatus":{"type":"string","description":"Endpoint connection status.","enum":["active","waiting_reconnect","suspend","disabled"]},"IotEndpointMqtt":{"type":"object","description":"MQTT client (output_mqtt_client) endpoint — full representation including id.","allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Endpoint ID inside user account","readOnly":true}}},{"$ref":"#/components/schemas/IotMqttEndpointDraft"}]},"IotMqttEndpointDraft":{"type":"object","description":"MQTT client (output_mqtt_client) endpoint — create/update payload.","properties":{"type":{"type":"string","enum":["output_mqtt_client"],"description":"Endpoint type. Always 'output_mqtt_client' for this subtype."},"title":{"type":"string","description":"Endpoint title"},"status":{"$ref":"#/components/schemas/IotEndpointStatus"},"description":{"type":["string","null"],"description":"Endpoint description (optional, max 4000 characters).","maxLength":4000},"properties":{"$ref":"#/components/schemas/IotEndpointMqttClientProperties"}},"required":["type","title","status","properties"]},"IotEndpointMqttClientProperties":{"type":"object","description":"MQTT client endpoint","properties":{"protocol":{"type":"string","description":"Protocol of messages: \"NGP\" (Navixy Generic Protocol)"},"domain":{"type":"string","description":"MQTT domain or IP address"},"port":{"type":"integer","description":"MQTT port"},"client_id":{"type":"string","description":"MQTT client ID"},"qos":{"type":"integer","description":"MQTT QoS: 0 or 1 (2 is unsupported at the moment)"},"topics":{"type":"array","items":{"type":"string","description":"MQTT topic name"}},"version":{"type":"string","description":"MQTT version: \"3.1.1\" or \"5.0\""},"use_ssl":{"type":"boolean","description":"Use or not SSL encryption for MQTT connection"},"mqtt_auth":{"type":"boolean","description":"Use or not MQTT authentication"},"user_name":{"type":"string","description":"MQTT user name"},"user_password":{"type":"string","description":"MQTT password"}},"required":["protocol","domain","port","client_id","qos","topics","version","use_ssl","mqtt_auth"]}},"responses":{"ResponseError":{"description":"Error response object","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false."},"status":{"type":"object","description":"Error status. It only presence when an error occurred.","properties":{"code":{"type":"integer","description":"An error code in this API (not a HTTP code)"},"description":{"type":"string","description":"An error description"}}}}}}}}}},"paths":{"/iot/logic/flow/endpoint/read":{"post":{"tags":["Node"],"summary":"endpointRead","description":"Retrieve detailed configuration for a specific node. Returns complete node data including type-specific configuration, position, and enabled status. Use this endpoint to inspect individual node configuration without retrieving the entire flow.","operationId":"endpointRead","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"endpoint_id":{"type":"integer","description":"Endpoint ID in database"}},"required":["endpoint_id"]}}}},"responses":{"200":{"description":"Successful response to read endpoint","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"`true` if request finished successfully","readOnly":true},"value":{"$ref":"#/components/schemas/IotEndpoint"}}}}}},"default":{"$ref":"#/components/responses/ResponseError"}}}}}}
```

## endpointUpdate

> Update an existing node configuration. Requires the complete node object including all required fields for the node type. Changes to nodes in enabled flows take effect immediately and may impact active data processing.&#x20;

```json
{"openapi":"3.1.0","info":{"title":"Navixy IoT Logic API","version":"1.0.0"},"tags":[{"name":"Node","description":"Operations for managing output endpoints (IotEndpoints) — reusable, account-level output destinations (Navixy platform or external MQTT broker) that are referenced by Output Endpoint nodes inside flows."}],"servers":[{"url":"https://api.eu.navixy.com/v2","description":"Navixy production server on European platform"},{"url":"https://api.us.navixy.com/v2","description":"Navixy production server on American platform"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","description":"Enter an API key with the \"NVX: \" prefix, e.g. \"NVX 123456abcdefg\"","name":"Authorization","in":"header"}},"schemas":{"IotEndpoint":{"description":"Output endpoint — full representation. Use the type field to determine which subtype applies.","oneOf":[{"$ref":"#/components/schemas/IotDefaultEndpoint"},{"$ref":"#/components/schemas/IotEndpointMqtt"}],"discriminator":{"propertyName":"type","mapping":{"output_default":"#/components/schemas/IotDefaultEndpoint","output_mqtt_client":"#/components/schemas/IotEndpointMqtt"}}},"IotDefaultEndpoint":{"type":"object","description":"Navixy platform (output_default) endpoint — full representation including id.","allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Endpoint ID inside user account","readOnly":true}}},{"$ref":"#/components/schemas/IotDefaultEndpointDraft"}]},"IotDefaultEndpointDraft":{"type":"object","description":"Navixy platform (output_default) endpoint — create/update payload.","properties":{"type":{"type":"string","enum":["output_default"],"description":"Endpoint type. Always 'output_default' for this subtype."},"title":{"type":"string","description":"Endpoint title"},"status":{"$ref":"#/components/schemas/IotEndpointStatus"},"description":{"type":["string","null"],"description":"Endpoint description (optional, max 4000 characters).","maxLength":4000}},"required":["type","title","status"]},"IotEndpointStatus":{"type":"string","description":"Endpoint connection status.","enum":["active","waiting_reconnect","suspend","disabled"]},"IotEndpointMqtt":{"type":"object","description":"MQTT client (output_mqtt_client) endpoint — full representation including id.","allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Endpoint ID inside user account","readOnly":true}}},{"$ref":"#/components/schemas/IotMqttEndpointDraft"}]},"IotMqttEndpointDraft":{"type":"object","description":"MQTT client (output_mqtt_client) endpoint — create/update payload.","properties":{"type":{"type":"string","enum":["output_mqtt_client"],"description":"Endpoint type. Always 'output_mqtt_client' for this subtype."},"title":{"type":"string","description":"Endpoint title"},"status":{"$ref":"#/components/schemas/IotEndpointStatus"},"description":{"type":["string","null"],"description":"Endpoint description (optional, max 4000 characters).","maxLength":4000},"properties":{"$ref":"#/components/schemas/IotEndpointMqttClientProperties"}},"required":["type","title","status","properties"]},"IotEndpointMqttClientProperties":{"type":"object","description":"MQTT client endpoint","properties":{"protocol":{"type":"string","description":"Protocol of messages: \"NGP\" (Navixy Generic Protocol)"},"domain":{"type":"string","description":"MQTT domain or IP address"},"port":{"type":"integer","description":"MQTT port"},"client_id":{"type":"string","description":"MQTT client ID"},"qos":{"type":"integer","description":"MQTT QoS: 0 or 1 (2 is unsupported at the moment)"},"topics":{"type":"array","items":{"type":"string","description":"MQTT topic name"}},"version":{"type":"string","description":"MQTT version: \"3.1.1\" or \"5.0\""},"use_ssl":{"type":"boolean","description":"Use or not SSL encryption for MQTT connection"},"mqtt_auth":{"type":"boolean","description":"Use or not MQTT authentication"},"user_name":{"type":"string","description":"MQTT user name"},"user_password":{"type":"string","description":"MQTT password"}},"required":["protocol","domain","port","client_id","qos","topics","version","use_ssl","mqtt_auth"]}},"responses":{"OK":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"`true` if request finished successfully.","readOnly":true}}}}}},"ResponseError":{"description":"Error response object","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false."},"status":{"type":"object","description":"Error status. It only presence when an error occurred.","properties":{"code":{"type":"integer","description":"An error code in this API (not a HTTP code)"},"description":{"type":"string","description":"An error description"}}}}}}}}}},"paths":{"/iot/logic/flow/endpoint/update":{"post":{"tags":["Node"],"summary":"endpointUpdate","description":"Update an existing node configuration. Requires the complete node object including all required fields for the node type. Changes to nodes in enabled flows take effect immediately and may impact active data processing. ","operationId":"endpointUpdate","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"endpoint":{"$ref":"#/components/schemas/IotEndpoint"}},"required":["endpoint"]}}}},"responses":{"200":{"$ref":"#/components/responses/OK"},"default":{"$ref":"#/components/responses/ResponseError"}}}}}}
```

## endpointDelete

> Permanently delete a node from accoun. Automatically removes all edges connected to this node. Deleting critical nodes (Data Source or Output Endpoint) from enabled flows will interrupt data processing. Verify flow integrity after deletion.

```json
{"openapi":"3.1.0","info":{"title":"Navixy IoT Logic API","version":"1.0.0"},"tags":[{"name":"Node","description":"Operations for managing output endpoints (IotEndpoints) — reusable, account-level output destinations (Navixy platform or external MQTT broker) that are referenced by Output Endpoint nodes inside flows."}],"servers":[{"url":"https://api.eu.navixy.com/v2","description":"Navixy production server on European platform"},{"url":"https://api.us.navixy.com/v2","description":"Navixy production server on American platform"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","description":"Enter an API key with the \"NVX: \" prefix, e.g. \"NVX 123456abcdefg\"","name":"Authorization","in":"header"}},"responses":{"OK":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"`true` if request finished successfully.","readOnly":true}}}}}},"ResponseError":{"description":"Error response object","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false."},"status":{"type":"object","description":"Error status. It only presence when an error occurred.","properties":{"code":{"type":"integer","description":"An error code in this API (not a HTTP code)"},"description":{"type":"string","description":"An error description"}}}}}}}}}},"paths":{"/iot/logic/flow/endpoint/delete":{"post":{"tags":["Node"],"summary":"endpointDelete","description":"Permanently delete a node from accoun. Automatically removes all edges connected to this node. Deleting critical nodes (Data Source or Output Endpoint) from enabled flows will interrupt data processing. Verify flow integrity after deletion.","operationId":"endpointDelete","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"endpoint_id":{"type":"integer","description":"Endpoint ID in database"}},"required":["endpoint_id"]}}}},"responses":{"200":{"$ref":"#/components/responses/OK"},"default":{"$ref":"#/components/responses/ResponseError"}}}}}}
```

## endpointList

> List all output endpoints in the user account. Returns a summary view for each endpoint: id, title, type, and description. Use endpointRead to retrieve the full configuration including connection properties for a specific endpoint.

```json
{"openapi":"3.1.0","info":{"title":"Navixy IoT Logic API","version":"1.0.0"},"tags":[{"name":"Node","description":"Operations for managing output endpoints (IotEndpoints) — reusable, account-level output destinations (Navixy platform or external MQTT broker) that are referenced by Output Endpoint nodes inside flows."}],"servers":[{"url":"https://api.eu.navixy.com/v2","description":"Navixy production server on European platform"},{"url":"https://api.us.navixy.com/v2","description":"Navixy production server on American platform"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","description":"Enter an API key with the \"NVX: \" prefix, e.g. \"NVX 123456abcdefg\"","name":"Authorization","in":"header"}},"schemas":{"IotEndpointResponse":{"type":"object","description":"Trimmed endpoint representation returned by the endpoint/list endpoint.","properties":{"id":{"type":"integer","description":"Endpoint ID inside user account","readOnly":true},"title":{"type":"string","description":"Endpoint title","readOnly":true},"type":{"type":"string","description":"Endpoint type","readOnly":true},"description":{"type":["string","null"],"description":"Endpoint description","readOnly":true}}}},"responses":{"ResponseError":{"description":"Error response object","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false."},"status":{"type":"object","description":"Error status. It only presence when an error occurred.","properties":{"code":{"type":"integer","description":"An error code in this API (not a HTTP code)"},"description":{"type":"string","description":"An error description"}}}}}}}}}},"paths":{"/iot/logic/flow/endpoint/list":{"post":{"tags":["Node"],"summary":"endpointList","description":"List all output endpoints in the user account. Returns a summary view for each endpoint: id, title, type, and description. Use endpointRead to retrieve the full configuration including connection properties for a specific endpoint.","operationId":"endpointList","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Successful response to read a list of endpoints","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"`true` if request finished successfully","readOnly":true},"list":{"type":"array","description":"List of user's endpoints","readOnly":true,"items":{"$ref":"#/components/schemas/IotEndpointResponse"}}}}}}},"default":{"$ref":"#/components/responses/ResponseError"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://navixy.com/docs/iot-logic-api/resources/api-reference/node.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
