For Agents
Read and write records, manage tables, and upload file attachments on Ninox through 14 endpoints under api.ninox.com/v1.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Ninox API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Ninox API.
Inspect a single team or table through GET /teams/{teamId} and /tables/{tableId}
List the field metadata for a Ninox table through /tables/{tableId}/fields
Page through, create, update, and delete records through /records routes
GET STARTED
Use for: List the teams accessible to my Ninox API key, Inspect the schema fields of a Ninox table, Create a record in a Ninox table, Upload a PDF attachment to a Ninox record
Not supported: Does not handle Ninox formula scripting, view configuration, or user permissions — use for Ninox records, table schema reads, and record file attachments only.
Jentic publishes the only available OpenAPI specification for Ninox API (ninoxdb.de variant), keeping it validated and agent-ready. Ninox is a low-code database platform popular with European teams under the ninoxdb.de domain. This spec covers the same REST surface as the ninox.com listing but adds GET endpoints for individual teams, individual tables, and table fields, plus file download and upload routes for record attachments. The team-database-table-record hierarchy is unchanged, and authentication is the same bearer token issued from the Ninox account settings.
Upload an attachment to a record through POST /records/{recordId}/files/{fileName}
Download a record attachment through GET /records/{recordId}/files/{fileName}
Walk the team-database-table hierarchy with dedicated GET endpoints
Issue all calls under the same bearer token used by the ninox.com listing
Patterns agents use Ninox API for, with concrete tasks.
★ Document attachments on records
Many internal tools store contracts, receipts, or scans alongside the structured row. POST /teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}/files/{fileName} uploads an attachment, and the matching GET endpoint downloads it. The schema model on /fields lets the agent confirm the table has a file-typed column before pushing the upload.
POST a contract.pdf attachment to /teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}/files/contract.pdf and verify the response confirms the upload.
Schema-aware record sync
Before pushing rows from another system, an integration can call GET /tables/{tableId}/fields to learn the current Ninox schema, mapping its source columns onto the matching Ninox fields. Then POST /records inserts new rows and PUT /records/{recordId} updates existing ones with confidence that the field names will match.
Call GET /tables/{tableId}/fields to retrieve the column list, then POST /records with a fields object whose keys match the returned field names.
Internal CRUD app back-end
A custom internal app running over Ninox uses the records endpoints as its CRUD layer. List with GET /records, create with POST /records, read a single row with GET /records/{recordId}, update with PUT, and delete with DELETE. The team and database IDs in the URL keep tenants isolated.
Call PUT /teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId} with fields {Status: 'Closed'} and confirm a 200 response.
AI agent operating a Ninox-backed app
An AI agent running an internal-ops workflow can read, write, and attach files on Ninox without manual screen-clicking. Through Jentic, the agent searches by intent and Jentic returns the right Ninox endpoint with the bearer token attached server-side. File uploads stay scoped to the right record because the URL embeds the recordId and fileName.
Search Jentic for 'upload a file to a ninox record', load POST /teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}/files/{fileName}, and execute it for an invoice PDF.
14 endpoints — jentic publishes the only available openapi specification for ninox api (ninoxdb.
METHOD
PATH
DESCRIPTION
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/fields
List the field schema for a table
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records
List records in a table
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records
Create a new record
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}
Update fields on a record
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}
Delete a record
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}/files/{fileName}
Upload a file attachment to a record
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}/files/{fileName}
Download a file attachment from a record
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/fields
List the field schema for a table
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records
List records in a table
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records
Create a new record
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}
Update fields on a record
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}
Delete a record
Three things that make agents converge on Jentic-routed access.
Credential isolation
Ninox bearer tokens are stored encrypted in the Jentic vault. Agents call records, tables, and file endpoints via Jentic, which attaches Authorization: Bearer server-side; raw tokens never enter the agent's chat context.
Intent-based discovery
Agents search Jentic by intent (e.g. 'upload a file to a ninox record') and Jentic returns the matching path-parameterised endpoint with its input schema.
Time to first call
Direct Ninox integration: half a day to wire records and file attachments. Through Jentic: under 30 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Ninox API through Jentic.
Why is there no official OpenAPI spec for Ninox API?
Ninox publishes documentation but does not maintain an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Ninox API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Ninox API use?
Ninox uses HTTP bearer tokens. Issue a token from your Ninox account settings and send it as Authorization: Bearer <token>. Through Jentic, the token is held encrypted in the vault and attached server-side.
Can I attach a file to a Ninox record?
Yes. POST /teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}/files/{fileName} uploads the binary attachment to the record. The matching GET endpoint downloads it back.
What are the rate limits for the Ninox API?
Ninox enforces per-account rate limits but does not publish exact numbers in this spec. Bulk syncs should batch writes and back off on HTTP 429 responses.
How do I update a Ninox record through Jentic?
Run pip install jentic, search Jentic for 'update a ninox record', and load PUT /teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}. Provide a fields object whose keys match the Ninox table column names.
How is this spec different from the ninox.com Ninox API listing?
Both target the same api.ninox.com/v1 base URL. The ninoxdb.de spec exposes 14 endpoints — it adds GET routes for individual team/table inspection, table fields, and record file uploads/downloads, beyond the 9 covered by the ninox.com listing.
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}/files/{fileName}
Upload a file attachment to a record
/teams/{teamId}/databases/{databaseId}/tables/{tableId}/records/{recordId}/files/{fileName}
Download a file attachment from a record