Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Pennylane 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://jentic.com/install.sh?src=apis&api=%2Fapis%2Fpennylane.com%2Fpennylane" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fpennylane.com%2Fpennylane" | 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 Pennylane API.
Create and retrieve journal entries with line-item detail for double-entry bookkeeping
Define and query ledger accounts within the French accounting plan structure
Subscribe to accounting event webhooks for real-time change notifications
Synchronize financial records between Pennylane and external ERP or invoicing tools
Retrieve individual journal entries and ledger accounts by identifier
GET STARTED
Patterns agents use Pennylane API for, with concrete tasks.
★ Automated Journal Entry Creation
Automate the creation of journal entries from external transaction sources such as payment processors, bank feeds, or e-commerce platforms. The Pennylane API accepts structured journal entry data via POST /journals with line items, dates, and account codes. Agents can transform incoming transaction data into compliant French double-entry bookkeeping records without manual data entry.
Create a journal entry via POST /journals with two line items (debit and credit) for a 500 EUR client payment, specifying the appropriate ledger account codes
Chart of Accounts Management
Programmatically manage the chart of accounts by creating new ledger accounts and querying existing ones. The API provides POST /ledger_accounts for creation and GET /ledger_accounts for listing. This enables synchronization of the account structure between Pennylane and other financial systems or ERP tools used by French businesses.
Create a new ledger account via POST /ledger_accounts with account code 411001, label 'Client XYZ', and the appropriate account type
Real-Time Accounting Event Webhooks
Subscribe to Pennylane webhooks to receive notifications when accounting events occur, such as new journal entries being validated or ledger accounts being modified. The webhook subscription endpoint (POST /webhook_subscription) enables event-driven architectures that keep downstream systems synchronized without polling.
Create a webhook subscription via POST /webhook_subscription with a callback URL to receive notifications for journal entry creation events
AI Agent Accounting Operations via Jentic
AI agents discover and execute Pennylane accounting operations through Jentic without building a custom OAuth integration. Agents search for accounting capabilities by intent, receive operation schemas with OAuth token handling managed by Jentic, and create journal entries or manage accounts through a unified interface. This reduces integration from days to under an hour.
Search Jentic for 'create a journal entry', load the POST /journals operation schema with OAuth scopes resolved, and execute with structured line-item data
10 endpoints — jentic publishes the only available openapi specification for pennylane api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/journals
List journal entries
/journals
Create a journal entry
/journals/{id}
Get a specific journal entry
/ledger_accounts
List ledger accounts
/ledger_accounts
Create a ledger account
/webhook_subscription
Create a webhook subscription
/journals
List journal entries
/journals
Create a journal entry
/journals/{id}
Get a specific journal entry
/ledger_accounts
List ledger accounts
/ledger_accounts
Create a ledger account
/webhook_subscription
Create a webhook subscription
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Pennylane by hand means running its OAuth 2.0 authorization code flow against app.pennylane.com, storing and refreshing tokens, and threading journal and ledger ids through your calls yourself. Through Jentic you install once, import the Pennylane API from the API Directory, complete the OAuth grant once, and your agent calls it while token refresh is handled for you.
Permission scoping
Pennylane puts the journal id in the URL path (/journals/{id}), so a rule can pin your agent to reading a specific journal. You choose the operations it may call, so creating journal entries or ledger accounts and subscribing a webhook are included only if you add them.
Credential isolation
Your Pennylane OAuth token is stored once, encrypted, by your own Jentic One instance and injected at execution time, with refresh handled automatically. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'create a journal entry', and Jentic returns the matching Pennylane operation with its input schema and resolved OAuth scopes so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Pennylane API through Jentic.
Why is there no official OpenAPI spec for Pennylane API?
Pennylane does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Pennylane 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 Pennylane API use?
The Pennylane API uses OAuth 2.0 with the authorization code flow. The authorization URL is https://app.pennylane.com/oauth/authorize and the token URL is https://app.pennylane.com/oauth/token. Through Jentic, OAuth token acquisition and refresh are handled automatically so agents do not manage the flow directly.
Can I create journal entries with multiple line items?
Yes. POST /journals accepts a structured payload with multiple line items, each specifying an account code, amount, and debit/credit direction. This supports standard double-entry bookkeeping where debits equal credits within each journal entry.
How do I manage webhook subscriptions through Jentic?
Search Jentic for 'subscribe to accounting events' to discover the POST /webhook_subscription operation. Load the schema and execute with your callback URL. The API also supports GET /webhook_subscription to check current configuration, PUT to update, and DELETE to remove subscriptions.
What are the rate limits for the Pennylane API?
The OpenAPI specification does not document specific rate limits. Implement standard retry logic with exponential backoff on HTTP 429 responses. The API is designed for integration use cases rather than high-frequency bulk operations.
Can I list and filter journal entries by date range?
GET /journals returns journal entries with support for query parameters. The endpoint enables retrieval of entries for reconciliation, reporting, or audit purposes. Individual entries can be fetched by ID via GET /journals/{id}.
Can I limit what my agent is allowed to do with the Pennylane API?
Yes. Because Jentic One is self-hosted, your own rules decide which Pennylane operations and credentials the agent may use, so it can read journal entries and ledger accounts without being able to create them or subscribe a webhook unless you add those operations. Since Pennylane puts the journal id in the URL path at GET /journals/{id}, a rule can pin the agent to a specific journal rather than the whole account. The stored OAuth token is injected only for the calls you allow, so writes like POST /journals, POST /ledger_accounts, and POST /webhook_subscription happen only when you have explicitly granted them.
Know of an official OpenAPI document? Contribute it →
For Agents
Create and retrieve journal entries and ledger accounts for French business accounting. Manage webhook subscriptions for real-time accounting event notifications.
Use for: I need to create a journal entry in Pennylane, List all ledger accounts in the chart of accounts, I want to set up a webhook for accounting events, Get a specific journal entry by ID
Not supported: Does not handle invoicing, expense management, or tax filing - use for journal entries, ledger accounts, and accounting event webhooks only.
Jentic publishes the only available OpenAPI specification for Pennylane API, keeping it validated and agent-ready. Pennylane API provides programmatic access to accounting operations for French businesses, including journal entry management, ledger account creation, and webhook subscriptions. The API uses OAuth 2.0 with authorization code flow and exposes 10 endpoints focused on core bookkeeping operations for syncing financial data between Pennylane and external systems.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>