Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Accela 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 Accela API.
Search and retrieve agency records (permits, licenses, applications) with id and filter queries
Create new records and update existing record fields via PUT /v4/records/{id}
Schedule inspections on a record and update results once they are complete
GET STARTED
For Agents
Manage Accela civic records, inspections, addresses, parcels, and documents through a streamlined 30-endpoint surface so agents can automate permit lookups and inspection scheduling.
Use for: I want to create a new permit record for an applicant, Find all open permits at a specific street address, Schedule a final inspection on permit ABC-2026-001, Retrieve the contacts attached to a record
Not supported: Does not handle card payment capture, GIS rendering, or constituent identity verification — use for core Accela record, inspection, address, and contact operations only.
The Accela API is a focused 30-endpoint cut of the Accela Civic Platform surface, covering the most common operations for managing records, inspections, addresses, contacts, parcels, documents, and professionals. It targets civic engagement applications — permitting portals, contractor tools, and inspection apps — where developers need core CRUD on records and inspections without the full breadth of the platform API. Authentication is OAuth 2.0 against auth.accela.com and requests are scoped to an agency via the X-Accela-Agency header.
Look up addresses and parcels to populate or filter records
Manage contacts attached to a record, including applicants and owners
Retrieve and attach documents associated with a specific record
Patterns agents use Accela API for, with concrete tasks.
★ Citizen-Facing Permit Status Lookup
A municipal portal lets citizens check the status of permits and licenses on their property using GET /v4/records and GET /v4/addresses. The portal forwards the citizen's address to Accela, retrieves matching records, and displays current status, fee balance, and next inspection date. This reduces inbound phone calls to the permit office and gives applicants real-time visibility.
Search GET /v4/records using an address filter and return the most recent permit's status, balance, and next scheduled inspection
Contractor Permit Submission and Tracking
A contractor management tool calls POST /v4/records to submit new permit applications on behalf of licensed contractors, then polls GET /v4/records/{id} for status changes. The tool also uses /v4/inspections to request inspections as work progresses. Contractors get a single dashboard across multiple agencies that all run Accela.
Call POST /v4/records to create a new electrical permit, then schedule a rough-in inspection via POST /v4/inspections
Inspection Field App with Result Capture
Field inspectors use a mobile app that loads the day's inspections, captures result codes and notes, and updates them via PUT on the inspection record. The app also attaches photos to the record using the documents endpoints. Compared to paper-based workflows, agencies see same-day case updates and a complete digital audit trail.
Update inspection id 12345 with result code 'Passed', add notes, and attach a verification photo to the parent record
Agent-Driven Permit Operations via Jentic
An AI assistant inside an agency's helpdesk uses the Accela API through Jentic to handle constituent calls — looking up record status, finding the next inspection slot, or creating a service request record. The agent searches Jentic for the right operation, the OAuth flow is brokered, and credentials never enter the agent's context window.
Through Jentic, search 'find all open permits at an address', load GET /v4/records, and return open records ordered by date
30 endpoints — the accela api is a focused 30-endpoint cut of the accela civic platform surface, covering the most common operations for managing records, inspections, addresses, contacts, parcels, documents, and professionals.
METHOD
PATH
DESCRIPTION
/v4/records
Search records with filters
/v4/records
Create a new record
/v4/records/{id}
Retrieve a specific record
/v4/records/{id}
Update a record
/v4/addresses
Search addresses
/v4/addresses/{id}
Retrieve a specific address
/oauth2/token
Obtain an OAuth access token
/v4/records
Search records with filters
/v4/records
Create a new record
/v4/records/{id}
Retrieve a specific record
/v4/records/{id}
Update a record
/v4/addresses
Search addresses
Three things that make agents converge on Jentic-routed access.
Credential isolation
Your Accela OAuth client credentials and agency scopes are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'create a new permit record', and Jentic returns the matching Accela operation with its input schema, including the X-Accela-Agency header field, so the agent calls the right endpoint without browsing the reference docs.
Time to first call
Alternatives and complements available in the Jentic catalogue.
Stripe API
Process card payments for civic fees and post the result back into Accela record fees.
Use Stripe to capture the payment, then call Accela to mark the fee on the record as paid.
Specific to using Accela API through Jentic.
What authentication does the Accela API use?
OAuth 2.0 with authorization at GET /oauth2/authorize and token exchange at POST /oauth2/token. Each call also requires an X-Accela-Agency header to scope to the relevant agency. Through Jentic, OAuth client credentials are stored encrypted and tokens are injected at execution time.
Can I create new permit records with the Accela API?
Yes. POST /v4/records creates a new record of a configured record type, and PUT /v4/records/{id} updates fields on an existing record. The set of allowed record types is determined per agency, so look up the available types in the agency's Accela environment first.
What are the rate limits for the Accela API?
The OpenAPI spec does not document explicit rate limits. Accela enforces per-agency limits configured in the production and sandbox environments and documented in the agency's developer portal. Implement exponential backoff on HTTP 429 responses.
How is this Accela API different from the Accela Civic Platform API?
This Accela API is a 30-endpoint subset focused on the most common record, inspection, address, contact, and parcel operations. The Accela Civic Platform API is the full 86-endpoint surface that adds workflow, payment record detail, agency settings, and broader search. Pick this one when a smaller agent tool surface is preferable.
How do I create a permit through Jentic?
Run pip install jentic and search 'create a new permit record for an applicant'. Jentic returns POST /v4/records, you load the schema, supply the agency and applicant fields, and execute. The OAuth handshake and X-Accela-Agency header are handled by the Jentic execution layer.
Does the Accela API support webhook notifications?
The current OpenAPI surface focuses on synchronous record and inspection operations and does not expose webhook subscription endpoints. To detect record changes, poll GET /v4/records with a last-updated filter, or use Accela's separate event subscription channels in their portal.
/v4/addresses/{id}
Retrieve a specific address
/oauth2/token
Obtain an OAuth access token