> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/navixy-graphql-api/developer-resources/public-graphql-schema.md).

# Public GraphQL schema

The public GraphQL schema of Navixy GraphQL API, split into one file for the shared types and one per product or platform service.

The GraphQL schema for Navixy GraphQL API is public and split into several parts:

* **Common resources** ([`nvx4-common.graphql`](https://raw.githubusercontent.com/Navixy/navixy-public-docs/refs/heads/main/docs/graphql-api/developer-resources/graphql-schema/nvx4-common.graphql)): Types and operations [shared by the entire API](/docs/navixy-graphql-api/core-api-reference.md).
* **Business Data Repository** ([`nvx4-bdr.graphql`](https://raw.githubusercontent.com/Navixy/navixy-public-docs/refs/heads/main/docs/graphql-api/developer-resources/graphql-schema/nvx4-bdr.graphql)): Types and operations specific to [Business Data Repository](/docs/navixy-graphql-api/products/business-data-repository.md). This file also declares the `Query` and `Mutation` roots and the `schema` block for the whole API. The `Subscription` root is declared in `nvx4-tracking.graphql`, because its only field streams tracking state.
* **Tracking** ([`nvx4-tracking.graphql`](https://raw.githubusercontent.com/Navixy/navixy-public-docs/refs/heads/main/docs/graphql-api/developer-resources/graphql-schema/nvx4-tracking.graphql)): Types and operations specific to [Tracking](/docs/navixy-graphql-api/products/tracking.md).
* **IoT Logic** ([`nvx4-iot-logic.graphql`](https://raw.githubusercontent.com/Navixy/navixy-public-docs/refs/heads/main/docs/graphql-api/developer-resources/graphql-schema/nvx4-iot-logic.graphql)): Types and operations specific to [IoT Logic](/docs/navixy-graphql-api/products/iot-logic.md). Its entry points, `Query.iotLogic` and `Mutation.iotLogic`, are declared in `nvx4-bdr.graphql` with the other roots.
* **Billing** ([`nvx4-billing-public.graphql`](https://raw.githubusercontent.com/Navixy/navixy-public-docs/refs/heads/main/docs/graphql-api/developer-resources/graphql-schema/nvx4-billing-public.graphql)): The public types and operations of [Billing](/docs/navixy-graphql-api/products/billing.md): the ones a workspace calls for itself. Navixy products report usage outside this API, and the staff-facing billing operations are not part of the public schema.
* **Console** ([`nvx4-console.graphql`](https://raw.githubusercontent.com/Navixy/navixy-public-docs/refs/heads/main/docs/graphql-api/developer-resources/graphql-schema/nvx4-console.graphql)): The types and operations of [Console](/docs/navixy-graphql-api/products/console.md): the organizations and workspaces you can reach, and the products of a workspace, which you can enable or disable.
* **IAM** ([`nvx4-iam.graphql`](https://raw.githubusercontent.com/Navixy/navixy-public-docs/refs/heads/main/docs/graphql-api/developer-resources/graphql-schema/nvx4-iam.graphql)): The types and operations of [IAM](/docs/navixy-graphql-api/products/iam.md): the roles of your organization, what each one grants, and who holds it.

## What the files are for

The files are GraphQL schema definition language. They describe the same type system that introspection returns, plus comments that introspection leaves out. Download them to generate typed client code, to feed a GraphQL plugin in your editor, or to compare two versions of the API and see what changed. Read them together rather than one at a time: each file uses types that the common file declares, and `nvx4-bdr.graphql` declares the root types that refer to all the others.

To explore the API without downloading anything, use [introspection](/docs/navixy-graphql-api/graphql-basics.md#introspection) from your own GraphQL client, with your access token.

## Versions

Every file except the common one states its schema version in a comment on the third line, for example `# Version: 0.12.0`. Each file is versioned on its own, so the numbers can differ across files. The common file carries no version of its own, because it belongs to no product or platform service. Check the version before you report a difference between the schema and this documentation.

Most changes don't affect an existing client, because a client receives only the fields that its query selects. These are a new field on a type, a new optional argument, a new type, and a new input field that is nullable or has a default. Two changes can break a client that handles every case explicitly: a new member of a union, and a new value of an enum that the API returns. Handle unions with `__typename` or a fallback branch, and give every switch over a returned enum a default branch. For example, treat an unknown `TrackingStreamRemovalReason` as a plain removal and drop the asset from your view.

New [error codes](/docs/navixy-graphql-api/error-handling.md) can appear in `extensions.code`, and a failure can move to a different code. Handle an unknown code as a generic failure.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://navixy.com/docs/navixy-graphql-api/developer-resources/public-graphql-schema.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
