For Agents
Export approved invoice postings from Candis, sync master data such as ledger accounts and contacts, and download invoice files.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Candis 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 Candis API.
Export approved invoice batches for posting to a downstream accounting ledger via /organizations/{organizationId}/exports
Retrieve the line-item postings for a specific export via /exports/{exportId}/postings
Sync master data including general ledger accounts, contacts, cost dimensions, tax codes, and payment conditions via the /imports/* endpoints
GET STARTED
Use for: Export approved invoices from Candis to our accounting system, List all exports created in the last week, Retrieve the line-item postings for a specific export, Import general ledger accounts into a Candis organisation
Not supported: Does not handle invoice capture UI, approval-workflow configuration, or payment execution — use for exporting approved invoice postings and syncing accounting master data only.
Jentic publishes the only available OpenAPI specification for Candis API, keeping it validated and agent-ready. The Candis API exposes the AP automation platform's accounting data: it exports approved invoices and their postings for downstream ledgers, lets external systems import and update core master data such as general ledger accounts, contacts, cost dimensions, tax codes, payment conditions, and additional delivery costs, and provides direct file downloads for archived invoice documents. Nineteen endpoints span 10 resources and use bearer-JWT authentication tied to a single Candis organisation.
Update existing master-data records via PUT on the same /imports/* endpoints
Track the status of import jobs via /organizations/{organizationId}/imports/{processId}
Download archived invoice files by ID via /organizations/{organizationId}/files/{fileId}
Read organisation metadata via /organizations/info to scope subsequent calls
Patterns agents use Candis API for, with concrete tasks.
★ Approved Invoice Export to ERP
Finance teams using Candis for invoice capture and approval need to push approved invoices into their general ledger system on a schedule. POST /organizations/{organizationId}/exports creates an export batch, GET /exports/{exportId}/postings returns the booked postings, and the resulting payload feeds directly into ERPs such as DATEV, SAP, or NetSuite.
POST /organizations/{organizationId}/exports to create the daily export, then GET /exports/{exportId}/postings and write each posting to the ERP's journal-entry endpoint.
Master Data Synchronisation from ERP
When master data changes in the ERP (new vendors, ledger accounts, cost centres, tax codes), those updates must flow into Candis so AP coding stays consistent. The /imports/* endpoints accept POST to seed and PUT to update, and /imports/{processId} reports per-job processing status so the integration can retry failures.
POST /organizations/{organizationId}/imports/contacts with the latest vendor list from the ERP, then poll GET /imports/{processId} until the job reports completion.
Audit and Document Retrieval
Auditors and finance ops sometimes need to pull the original invoice document for a specific posting. The export response references file IDs that GET /organizations/{organizationId}/files/{fileId} resolves to the archived document, letting an audit bot download supporting evidence on demand.
Resolve the fileId from a posting via GET /organizations/{organizationId}/exports/{exportId}/postings, then GET /organizations/{organizationId}/files/{fileId} to download the original PDF.
AI Agent AP Workflows via Jentic
Through Jentic, an agent searches for 'export approved invoices from Candis', loads the input schema for /organizations/{organizationId}/exports, and executes the call without managing the bearer JWT. Jentic's vault holds the token so it never enters the agent's prompt context.
Use the Jentic SDK to search 'export approved invoices', load the POST /organizations/{organizationId}/exports operation schema, and execute it for the org ID returned by /organizations/info.
19 endpoints — jentic publishes the only available openapi specification for candis api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/organizations/info
Get organisation information
/organizations/{organizationId}/exports
Create an export of approved invoices
/organizations/{organizationId}/exports/{exportId}/postings
Retrieve postings for an export
/organizations/{organizationId}/imports/general-ledger-accounts
Import general ledger accounts
/organizations/{organizationId}/imports/contacts
Import contacts
/organizations/{organizationId}/imports/tax-codes
Import tax codes
/organizations/{organizationId}/files/{fileId}
Download an invoice file by ID
/organizations/info
Get organisation information
/organizations/{organizationId}/exports
Create an export of approved invoices
/organizations/{organizationId}/exports/{exportId}/postings
Retrieve postings for an export
/organizations/{organizationId}/imports/general-ledger-accounts
Import general ledger accounts
/organizations/{organizationId}/imports/contacts
Import contacts
Three things that make agents converge on Jentic-routed access.
Credential isolation
The Candis bearer JWT is stored encrypted in the Jentic vault. Agents receive scoped execution rights and Jentic injects the token into the Authorization header at call time, so the raw secret never enters the agent's context.
Intent-based discovery
Agents search by intent (for example, 'export approved invoices' or 'import ledger accounts') and Jentic returns the matching Candis operation along with its input schema, so the agent can call /organizations/{organizationId}/exports or the /imports/* routes without browsing developer.candis.io.
Time to first call
Direct Candis integration: 1-2 days for JWT setup, async import polling, and master-data field mapping. Through Jentic: under two hours to search, load, and execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Candis API through Jentic.
Why is there no official OpenAPI spec for Candis API?
Candis documents its API in HTML on developer.candis.io but does not publish a redistributable OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Candis 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 Candis API use?
It uses HTTP Bearer authentication with a JWT issued by Candis. Through Jentic, the JWT is stored in the Jentic vault and injected into the Authorization header at execution time, so the raw token never enters the agent's prompt context.
Can I export approved invoices for posting to my ERP?
Yes. POST /organizations/{organizationId}/exports creates an export batch from approved invoices, and GET /organizations/{organizationId}/exports/{exportId}/postings returns the line-item postings ready for journal entries in DATEV, NetSuite, or another ledger.
How do I sync ledger accounts into Candis through Jentic?
Run pip install jentic, then search 'sync ledger accounts to Candis' through the Jentic SDK. Jentic returns POST /organizations/{organizationId}/imports/general-ledger-accounts with its input schema. Provide the organisation ID and the account list, then poll GET /organizations/{organizationId}/imports/{processId} for job completion.
Are master-data imports synchronous or asynchronous?
Imports are asynchronous. Each POST or PUT to an /imports/* endpoint returns a process ID; poll GET /organizations/{organizationId}/imports/{processId} to retrieve the per-record processing status and any per-row errors before treating the job as complete.
How do I download the original invoice document for a posting?
Take the file ID from the posting returned by /exports/{exportId}/postings and call GET /organizations/{organizationId}/files/{fileId} to download the archived document for audit or evidence purposes.
/organizations/{organizationId}/imports/tax-codes
Import tax codes
/organizations/{organizationId}/files/{fileId}
Download an invoice file by ID