canonical: https://jentic.com/apis/nodafi.com/nodafi

# nodaFi API

Jentic publishes the only available OpenAPI specification for nodaFi API, keeping it validated and agent-ready. nodaFi is a facility-management platform that exposes its full surface through a single GraphQL endpoint at /graphql. All read and mutation operations - work orders, assets, locations, vendors, and inspections - flow through that POST endpoint with a typed query body. Authentication uses HTTP bearer tokens issued from the nodaFi dashboard. Because the surface is GraphQL-only, agents must compose queries rather than navigating multiple REST paths.

## For AI agents

Run facility-management operations on nodaFi - work orders, assets, locations, inspections - through a single authenticated GraphQL endpoint at /graphql.

## Scope

Does not handle direct REST CRUD per resource, file uploads outside GraphQL, or technician dispatch routing - use for nodaFi GraphQL queries and mutations only.

## Capabilities

- Submit GraphQL queries and mutations to /graphql for facility-management resources
- Read and update work order records via GraphQL operations against the single endpoint
- Query asset, location, and vendor records using GraphQL field selection
- Authenticate every request with HTTP bearer tokens issued from the nodaFi dashboard
- Compose nested queries that return only the fields the agent needs from a work order

## Use cases

### Work Order Automation

Facilities teams running maintenance programs need a programmatic way to create, list, and update work orders without using the nodaFi UI. The /graphql endpoint accepts mutations to create and update work orders and queries to list open tickets per asset or location. This lets a backoffice agent triage incoming requests and feed them into nodaFi as work orders ready for technician dispatch.

Example prompt: POST a GraphQL mutation to /graphql that creates a work order with title, asset, location, and priority fields

### Asset Inventory Sync

When a facility-management system feeds an asset inventory into financial reporting or inspection scheduling, a regular sync against nodaFi keeps the source of truth aligned. A GraphQL query against /graphql can return assets with location, type, and status fields in a single round trip. Pagination is handled inside the query body using GraphQL cursors.

Example prompt: POST a GraphQL query to /graphql requesting assets with id, name, locationId, and status, paginated through cursor fields

### Inspection Reporting

Compliance and operations teams need exportable inspection records for audits and regulator reporting. The /graphql endpoint exposes inspection objects with fields for date, inspector, asset, and outcome, retrievable in a single query shaped to the report's columns. This avoids brittle CSV exports from the nodaFi UI.

Example prompt: POST a GraphQL query against /graphql for inspections within a date range and stream the response into a compliance report

### AI Agent Facility Assistant

An assistant supporting facility managers can use Jentic to call nodaFi's GraphQL endpoint without composing the full HTTP request by hand. Jentic loads the /graphql operation schema with a body parameter for the GraphQL query string, injects the bearer token, and returns the typed response. The same agent can chain multiple GraphQL queries for a single user intent.

Example prompt: Use Jentic to POST /graphql with a query that lists open work orders for a building and returns the result to the calling agent

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/graphql` | Single GraphQL endpoint for all nodaFi queries and mutations |

## Key resources

- **GraphQL Endpoint** — Single POST endpoint accepting GraphQL queries and mutations for the entire nodaFi surface

## Why Jentic

- **Setup:** Wiring nodaFi by hand means handling its bearer auth, building requests against its host (https://api.nodafi.com), and composing GraphQL queries and mutations against its single endpoint yourself. Through Jentic you install once, import the nodaFi API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** nodaFi exposes a single GraphQL endpoint (/graphql), so scope by operation: limit the agent to the queries and mutations it needs and leave out the rest, since the target travels in the GraphQL request body rather than the URL path. You choose the operations it may call.
- **Credential handling:** Your nodaFi token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'query open work orders' or 'create a service request', and Jentic returns the matching nodaFi operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Salesforce API** — Salesforce CRM and Service Cloud cases often surface facility issues that should become nodaFi work orders.
- **Intercom API** — Intercom support conversations often surface facility issues that should become nodaFi work orders.
- **ShipEngine API** — ShipEngine handles part and replacement shipping that often accompanies facility maintenance work orders.

## FAQ

### Why is there no official OpenAPI spec for nodaFi API?

nodaFi exposes a GraphQL-only API and does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call nodaFi API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the nodaFi API use?

nodaFi uses HTTP bearer authentication. Pass the bearer token issued from the nodaFi dashboard in the Authorization header. Through Jentic the token is held in the vault and injected at call time.

### Can I create work orders with the nodaFi API?

Yes. Submit a GraphQL mutation to POST /graphql that creates a work order with the required fields (title, asset, location, priority). The response returns the created work order id.

### What are the rate limits for the nodaFi API?

The OpenAPI spec does not declare specific rate limits. nodaFi enforces account-tier quotas - Jentic surfaces 429 responses with backoff so retries are paced correctly.

### How do I run a GraphQL query against nodaFi through Jentic?

Run pip install jentic, search Jentic for 'query nodafi work orders', load the /graphql operation, place your GraphQL query string in the request body, and execute. Jentic injects the bearer token and returns the typed response.

### Is the nodaFi API a REST API?

No. nodaFi exposes a single GraphQL endpoint at POST /graphql. All read and write operations flow through that endpoint with a query string in the body, rather than per-resource REST paths.

### Can I limit what my agent is allowed to do with the nodaFi API?

Yes. Because nodaFi exposes a single GraphQL endpoint at /graphql, you scope by operation: your self-hosted Jentic One instance runs under your own rules, so you decide which GraphQL queries and mutations the agent may call and leave out the rest. For example, you can allow it to list and create work orders or read asset and inspection records while withholding the mutations you do not want it to run. Jentic One also holds and injects the bearer token at call time, so credential use stays under your control.
