--- title: "API Documentation" --- # API Documentation > >
The API documentation in the Gateway provides a complete, dynamically generated specification of the HTTP API routes made publicly available by the Gateway and installed modules. These routes allow external systems to securely interact with Ignition using RESTful requests. :::caution Use of the Gateway API may result in the loss of configuration, tags, projects, or other critical resources, and can introduce security vulnerabilities or degrade Gateway performance. Only trusted clients and experienced users should interact with the API. To assist with tracking configuration changes, [auditing](platform/audit-log-and-profiles/audit-log-and-profiles.md) should be enabled at the Gateway level. Mutative rest API requests (such as POST, PUT, and DELETE) are recorded in audit logs with the user, IP address, and API key. **GET requests are not recorded in audit logs.** ::: The page is intended for developers, integrators, or system administrators who need to interface with Ignition from external services, custom applications, or automation tools. There are two ways to view the web API documentation: * **Interactive Documentation Page**: A browser-based UI for exploring all available endpoints. ![](public-api-ui.png) * **Raw API JSON Spec**: A machine-readable document used for importing into tools or generating client SDKs. ![](public-api-json.png) :::note Only routes that are explicitly documented by installed modules will appear in the API documentation. Internal or session-dependent routes are excluded. The API documentation is dynamically generated based on the current state of the Gateway and its installed modules. ::: ## Using the API Documentation Page The API documentation is designed to help users: * Discover available HTTP endpoints provided by installed modules * Understand required parameters, authentication methods, and response formats * Integrate with Ignition from third-party tools or services * Generate client SDKs using compatible API tools When browsing the `/openapi` interface, you can find the required parameters, authentication details, and expected response schemas for each documented route. ### Accessing the Documentation You can access the API documentation UI from any modern web browser that has network access to the Gateway. | Format | URL Example | |--------|-------------| | Interactive Documentation Page | `http[s]://:/openapi` | | Raw API JSON Specification | `http[s]://:/openapi.json` | ## Authenticating Requests Most documented endpoints require authentication using an API Token. API Tokens are managed from the **Platform** > **Security** > **API Keys** page of the Gateway and must be included in the request using the `X-Ignition-API-Token` custom header. ```http X-Ignition-API-Token: ``` To learn more about how API Tokens are created, refer to the [API Keys](platform/security/api-keys/api-keys.md) page. ## Configuration Resources As of version 8.3, many configuration elements in Ignition are exposed as **resources** using a standardized format. These resources are automatically documented and accessible through RESTful API endpoints, which appear in the `/openapi` specification. These endpoints allow external systems to: * Discover available configuration resource types * List, read, create, update, and delete configuration resources * Upload and retrieve related data files * Perform configuration sync operations These routes are organized under: `/data/api/v1/resources` For example: * `GET /data/api/v1/resources/list//`: Lists all resources of a given type * `POST /data/api/v1/resources//`: Creates a new resource * `DELETE /data/api/v1/resources////`: Deletes a specific named resource You can explore these and related routes by searching for `/resources/` under the interactive OpenAPI page. These resource routes are useful for: * Infrastructure-as-code workflows * Third party orchestration tools * Remote configuration management * Automating Gateway setup in containerized or cloud environments ## Example Request Below is an example of using **curl** to call a documented endpoint: ```bash curl -H "X-Ignition-API-Token: YOUR_TOKEN" \ https://:8088/data/mymodule/api/v1/getItem/abc-123 ```