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

# NeetoForm API

Jentic publishes the only available OpenAPI specification for NeetoForm API, keeping it validated and agent-ready. The NeetoForm API exposes 6 endpoints for managing forms, submissions, and team members in a NeetoForm workspace. It supports listing forms, paging through form submissions, and adding, updating, or removing team members. Authentication uses an X-Api-Key header issued from the NeetoForm dashboard, and the base URL is workspace-scoped via the {subdomain} parameter on neetoform.com.

## For AI agents

List NeetoForm forms, fetch form submissions, and manage workspace team members through a workspace-scoped API.

## Scope

Does not create forms, send transactional email, or process payments - use for read-only form access and team-member management only.

## Capabilities

- List all forms in a NeetoForm workspace via GET /forms
- Page through submissions for a specific form via GET `/forms/{form_id}/submissions`
- List current team members of the workspace via GET /team_members
- Add new team members in bulk via POST /team_members
- Update an existing team member's role via PATCH `/team_members/{team_member_id}`
- Remove team members in bulk via DELETE /team_members

## Use cases

### Sync Form Submissions to a CRM

An ops team syncs NeetoForm submissions into a downstream CRM by polling `/forms/{form_id}/submissions` on a schedule, transforming each submission into a contact record, and stopping when the cursor reaches the previously synced submission id. The 6-endpoint surface keeps the integration thin, and the X-Api-Key keeps the sync scoped to the issuing workspace.

Example prompt: GET `/forms/{form_id}/submissions` with the latest cursor and POST each new submission as a contact in the downstream CRM.

### Workspace Team Management Automation

An admin automates onboarding by adding new hires to the NeetoForm workspace as form editors when they join, then revoking access when they leave. The /team_members endpoints support bulk add and bulk delete, and PATCH `/team_members/{team_member_id}` updates roles when someone changes teams internally.

Example prompt: POST /team_members with the new hire's email and role, then PATCH `/team_members/{team_member_id}` when the role changes.

### Form Inventory Audit

A compliance team audits which forms exist across the workspace and how many submissions each has gathered, by listing /forms and then iterating `/forms/{form_id}/submissions` for each. The audit produces a record of every active intake form, its submission volume, and the last submission timestamp.

Example prompt: GET /forms, then for each form id GET `/forms/{form_id}/submissions`?limit=1 to record the latest submission timestamp.

### Agent-Driven Form Operations

An AI assistant inside a workspace tool uses Jentic to fetch the most recent NeetoForm submissions in response to a chat query, without hard-coding the X-Api-Key header or pagination logic. The agent searches for the right operation, loads the schema, and submits the call while Jentic manages the API key.

Example prompt: Search Jentic for 'list NeetoForm submissions for a form', load the schema for GET `/forms/{form_id}/submissions`, and execute it with the form id.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/forms` | List forms in the workspace |
| GET | `/forms/{form_id}/submissions` | List submissions for a form |
| GET | `/team_members` | List team members |
| POST | `/team_members` | Add team members |
| PATCH | `/team_members/{team_member_id}` | Update a team member |
| DELETE | `/team_members` | Remove team members |

## Key resources

- **Forms** — List forms available in the workspace
- **Submissions** — Page through submissions for a given form
- **Team Members** — Add, list, update, and remove workspace members

## Why Jentic

- **Setup:** Wiring the NeetoForm API by hand means passing the API-key request header on every request and building the workspace subdomain into each base URL so calls hit the right tenant yourself. Through Jentic you install once, import NeetoForm from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** NeetoForm puts the form id in the URL path (`/forms/{form_id}/submissions`), so a rule can pin your agent to one form: it can read that form's submissions and nothing else. You choose the operations it may call, so team-member creation or deletion is not included unless you add it.
- **Credential handling:** Your NeetoForm API-key request header 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 'list submissions for a NeetoForm form' or 'add a team member', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Typeform** — Form-builder API with form creation and richer submission webhook support
- **Jotform** — Form-builder API with broader endpoint coverage including form CRUD
- **Tally** — Lightweight form-builder API with similar submission retrieval primitives

## FAQ

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

NeetoForm publishes its external API as developer documentation rather than a formal OpenAPI file. Jentic generates and maintains this spec so that AI agents and developers can call NeetoForm API via structured tooling. It is validated against the live neetoform.com endpoints and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the NeetoForm API use?

NeetoForm uses an apiKey scheme with the X-Api-Key header. Generate the key from the NeetoForm workspace settings and send it on every request to {subdomain}.neetoform.com/api/external/v1. Through Jentic the key is stored encrypted in the vault and injected at execution time.

### Can I retrieve form submissions with the NeetoForm API?

Yes. GET `/forms/{form_id}/submissions` returns the submissions for that form, paginated. Use the response cursor to walk through older submissions when syncing to a downstream system.

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

NeetoForm does not publish numeric per-endpoint rate limits in the OpenAPI document; the workspace plan governs throughput. Treat sustained polling above a few requests per second as risky on smaller plans and back off on 429 responses.

### How do I add a team member through Jentic?

Run pip install jentic, then search for 'add a NeetoForm team member', load the schema for POST /team_members, and execute it with the new member's email and role. Jentic returns the created team member record.

### Does the NeetoForm API let me create forms?

No. The external v1 surface only exposes listing forms, reading their submissions, and managing team members. Form creation and design happen inside the NeetoForm dashboard.

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

Yes. Because you run Jentic One yourself, your own rules decide which NeetoForm operations and credentials the agent may use. Since the form id sits in the path on GET `/forms/{form_id}/submissions`, you can pin the agent to a single form so it reads only that form's submissions and nothing else. You also choose the allowed operations, so team-member changes such as POST or DELETE /team_members stay off limits unless you add them.
