# Extending and API's

- [Gauges and Extensions](https://docs.spadnext.com/extending-and-apis/gauges-and-extensions.md): SPAD.neXt generally supports ESP compatible gauges
- [SPAD Gauges: GaugeSettings](https://docs.spadnext.com/extending-and-apis/gauges-and-extensions/spad-gauges-gaugesettings.md)
- [C# Scripting Interface](https://docs.spadnext.com/extending-and-apis/scripting-interface.md)
- [C# Scripting: ScriptStub](https://docs.spadnext.com/extending-and-apis/scripting-interface/c-scripting-scriptstub.md)
- [C# Scripting: Provide Values](https://docs.spadnext.com/extending-and-apis/scripting-interface/c-scripting-provide-values.md): Scripting reference implementation for providing Values to SPAD.neXt
- [C# Scripting: PreCompile](https://docs.spadnext.com/extending-and-apis/scripting-interface/c-scripting-precompile.md): Using precompiled Scripting Assemblies
- [Device Interface](https://docs.spadnext.com/extending-and-apis/serial-connection.md): SPAD.neXt device interface V2
- [Device Communication Flow](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow.md)
- [Device INIT-Phase](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-init-phase.md)
- [Device CONFIG-Phase](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase.md)
- [Device options](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-options.md): Set device specific options
- [Device COLORSET configuration](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-colorset-configuration.md): Defining a custom colorset for LED
- [Device PROFILE configuration](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-profile-configuration.md): Device default profile configuration
- [Device OUTPUT Configuration](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-output-configuration.md): Define a device output descriptor (SPAD -> Device)
- [Device INPUT configuration](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-input-configuration.md): Define a device input (Device -> SPAD)
- [Device input AXIS](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-input-configuration/device-input-axis.md): Define a device axis
- [Device input ENCODER](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-input-configuration/device-input-encoder.md): Define a stateless encoder
- [Device input PUSHBUTTON](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-input-configuration/device-input-pushbutton.md): Stateless push button
- [Device input ROTARY](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-input-configuration/device-input-rotary.md): Define a stateful rotary switch
- [Device input SWITCH](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-input-configuration/device-input-switch.md): Define a stateful device switch
- [Device input SWITCH3](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-input-configuration/device-input-switch3.md): Define a stateful 3-Position (On1-Mid2-On0) switch
- [Device LABEL](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-input-configuration/device-label.md)
- [Device config: Advanced topics](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-config-phase/device-config-advanced-topics.md): Add functionality to inputs and outputs
- [Device STATESCAN-Phase](https://docs.spadnext.com/extending-and-apis/serial-connection/device-communication-flow/device-statescan-phase.md)
- [Device General Commands](https://docs.spadnext.com/extending-and-apis/serial-connection/command-0.md): General Command ( SPAD.neXt <--> Device) on Channel 0
- [Device commands](https://docs.spadnext.com/extending-and-apis/serial-connection/command-1.md): The 1-Command is used by the device to send commands to SPAD.neXt.
- [Page-Control](https://docs.spadnext.com/extending-and-apis/serial-connection/command-1/page-control.md): Serial: Configuration (1) Page-Control
- [Device SPAD.neXt Events (2)](https://docs.spadnext.com/extending-and-apis/serial-connection/command-2.md): SPAD.neXt raises internal events on Channel 2
- [Device Simulation Events (Channel 4)](https://docs.spadnext.com/extending-and-apis/serial-connection/command-4.md)
- [Device Data (Channel 5)](https://docs.spadnext.com/extending-and-apis/serial-connection/device-data-channel-5.md)
- [Device LED Update (Channel 6)](https://docs.spadnext.com/extending-and-apis/serial-connection/device-led-update-channel-6.md): SPAD tells the device to change the status of a LED
- [Device Display Update (Channel 7)](https://docs.spadnext.com/extending-and-apis/serial-connection/device-display-update-channel-7.md): Update device display
- [Device Input Updates (Channel 8)](https://docs.spadnext.com/extending-and-apis/serial-connection/device-input-updates-channel-8.md)
- [Device Virtual Power](https://docs.spadnext.com/extending-and-apis/serial-connection/virtual-power.md): Virtual Power Support for serial devices
- [Device Custom UI](https://docs.spadnext.com/extending-and-apis/serial-connection/device-custom-ui.md): Providing a Custom UI for a device
- [Device HTML UI](https://docs.spadnext.com/extending-and-apis/serial-connection/device-html-ui.md): Providing a custom HTML UI for the device
- [Device preconfigured definition](https://docs.spadnext.com/extending-and-apis/serial-connection/device-preconfigured-definition.md)
- [Serial V2](https://docs.spadnext.com/extending-and-apis/serial-connection/serial-v2.md)
- [Command 1,RAISE](https://docs.spadnext.com/extending-and-apis/serial-connection/serial-v2/command-1-raise.md)
- [Command: 0,AUTH](https://docs.spadnext.com/extending-and-apis/serial-connection/serial-v2/command-0-auth.md): Request 3rd Party Authentication of the Device
- [X-Plane Datarefs & Commands](https://docs.spadnext.com/extending-and-apis/xplane-datarefs.md)
- [FSUIPC: Custom Offsets](https://docs.spadnext.com/extending-and-apis/fsuipc-custom-offsets.md): Adding custom offset to FSUIPC Data
- [RestAPI](https://docs.spadnext.com/extending-and-apis/restapi.md)
- [HTML Rendering API](https://docs.spadnext.com/extending-and-apis/html-rendering-api.md)
- [Other API's](https://docs.spadnext.com/extending-and-apis/other-apis.md)


---

# 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://docs.spadnext.com/extending-and-apis.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.
