For Agents
Manage ODK Central projects, XLSForms, submissions, and field App Users for humanitarian and field-data-collection workflows from a self-hosted server.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the ODK Central 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.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# 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 ODK Central API.
Authenticate against ODK Central by creating a bearer-token session and revoking it on logout
Provision projects and upload XForms or XLSForms for distribution to ODK Collect devices
Retrieve submission instances with their attachments and the parsed form schema fields
Create and manage App Users that log into ODK Collect for offline data collection
GET STARTED
Use for: I need to upload a new XLSForm to an ODK Central project, List all submissions for a specific form in the last 24 hours, Create an App User token for a fieldworker collecting data offline, Retrieve the schema fields for a form so I can build a custom report
Not supported: Does not handle survey distribution to consumers, panel recruitment, or analytics dashboards — use for managing ODK Central projects, forms, and field submissions only.
ODK Central is the server-side component of the Open Data Kit ecosystem, used for managing forms, submissions, and field-data-collection users in offline-friendly mobile data collection workflows. The API exposes 32 endpoints covering session-based authentication, project and form lifecycle management, XML and submission ingestion, and assignments for App Users that operate ODK Collect on devices in low-connectivity environments. It is the backbone for humanitarian, public-health, and field-research deployments that need a self-hosted, auditable form server.
Assign roles to actors at the site or project level for fine-grained access control
Update or soft-delete forms while preserving prior submissions for audit trails
Patterns agents use ODK Central API for, with concrete tasks.
★ Humanitarian field data collection
ODK Central powers offline-first survey deployments for NGOs, public health teams, and disaster-response organisations. Fieldworkers collect submissions through ODK Collect on Android devices, syncing to the Central server when connectivity is available. The API lets back-office systems pull submissions, attachments, and parsed schema fields for downstream analysis without writing custom XForm parsers.
Upload an XLSForm titled 'household-census-2026' to project 12 and confirm the form moves to the open state
Submission pipeline to a data warehouse
Research teams use ODK Central as a staging server then ETL submissions into PostgreSQL, BigQuery, or a managed data warehouse. The /projects/{projectId}/forms/{xmlFormId}/submissions endpoint supports paginated retrieval, and the fields endpoint returns the parsed schema so the pipeline can map XForm types to warehouse columns automatically.
List all submissions for form 'water-quality-v3' in project 7 created after 2026-06-01 and write them as JSON to S3
Field user provisioning at scale
Programmes onboarding hundreds of enumerators script user creation through the API rather than the web console. Combine POST /users for back-office staff with App User creation per project for fieldworkers, then assign role-scoped access so each enumerator only sees the forms they should collect against.
Create 50 App Users in project 4 named 'enumerator-001' through 'enumerator-050' and download their access tokens
AI agent triage of new submissions
An AI agent connected through Jentic polls ODK Central for new submissions, parses media attachments such as photos or audio against a vision or speech model, and writes structured tags back into a downstream CRM. Jentic handles the bearer-session lifecycle so the agent never holds long-lived credentials.
Fetch the 10 most recent submissions on form 'site-inspection' in project 3, run vision analysis on each photo attachment, and post the labels back as comments
32 endpoints — odk central is the server-side component of the open data kit ecosystem, used for managing forms, submissions, and field-data-collection users in offline-friendly mobile data collection workflows.
METHOD
PATH
DESCRIPTION
/sessions
Create a new bearer-token session
/projects
List projects
/projects/{projectId}/forms
Upload an XLSForm or XForm
/projects/{projectId}/forms/{xmlFormId}/submissions
List form submissions
/projects/{projectId}/forms/{xmlFormId}/fields
Get parsed form schema fields
/users
Create a back-office user
/sessions
Create a new bearer-token session
/projects
List projects
/projects/{projectId}/forms
Upload an XLSForm or XForm
/projects/{projectId}/forms/{xmlFormId}/submissions
List form submissions
/projects/{projectId}/forms/{xmlFormId}/fields
Get parsed form schema fields
Three things that make agents converge on Jentic-routed access.
Credential isolation
ODK Central session credentials are stored encrypted in the Jentic vault. Agents receive a scoped bearer token at execution time and the raw password never enters the agent's context.
Intent-based discovery
Agents search by intent such as 'list ODK submissions' and Jentic returns the matching ODK Central operation along with its input schema, so the agent calls the right endpoint without browsing the docs.
Time to first call
Direct ODK Central integration: 1-2 days for session handling, pagination, and attachment download. Through Jentic: under an hour to search, load, and execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using ODK Central API through Jentic.
What authentication does the ODK Central API use?
ODK Central uses session bearer tokens. Call POST /sessions with email and password to receive a token, then send it as Authorization: Bearer in subsequent requests. Through Jentic the credential is stored encrypted in the vault and a scoped token is injected at execution time so the raw password never enters agent context.
Can I upload XLSForms with the ODK Central API?
Yes. POST /projects/{projectId}/forms accepts XLSForm and XForm payloads, and Central converts XLSForms to XForms server-side. Use PATCH on the same form path to update metadata such as state without re-uploading the definition.
What are the rate limits for the ODK Central API?
The OpenAPI spec does not declare hard rate limits. ODK Central is typically self-hosted, so practical limits depend on your deployment's CPU and database tier. For large submission pulls, paginate using the standard ODK Central paging parameters rather than fetching everything at once.
How do I retrieve submissions for a form through Jentic?
Search Jentic for 'list ODK Central submissions', load the GET /projects/{projectId}/forms/{xmlFormId}/submissions schema, then execute with the project and form identifiers. Jentic handles the bearer-token refresh between calls.
Is the ODK Central API free?
ODK Central itself is open-source under Apache 2.0 and you can self-host at no licence cost. Hosted Central installations from third-party providers price by submissions or active forms — check your provider for specifics.
Can I create App Users for offline ODK Collect devices via the API?
Yes. POST to the App Users endpoint under a project to mint a token that ODK Collect can use to download forms and submit data. Each App User is scoped to a single project and can be revoked individually without affecting other field devices.
/users
Create a back-office user