For Agents
Upsert journy.io users and accounts, track product events, link web activity, and read computed properties and segments so agents can keep the PLG workspace in sync with backend systems.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the journy.io 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 journy.io API.
Upsert a user record with stable user ID and properties such as plan or registered_at
Upsert an account record and add or remove users within that account
Track product events with metadata for downstream segmentation and signals
GET STARTED
Use for: I need to upsert a user in journy.io after a signup event, Track a 'created_invoice' event for account 30 with amount 100, Add a user to an existing journy.io account when they accept an invite, Remove a user from a journy.io account when they leave the team
Not supported: Does not handle email or push notification delivery, billing or invoicing, or marketing automation execution — use for tracking, identification, and reading computed PLG signals only.
journy.io is a product-led growth platform that captures user and account behaviour to surface signals for sales, success, and marketing teams. The REST API lets backend systems upsert users and accounts, track events, link web activity, and read user and account properties and segments computed by journy.io. It is the right tool when a B2B SaaS product needs to keep its journy.io workspace in sync with its database without relying solely on the JavaScript snippet.
Link a journy.io web visitor to an authenticated user record
Read computed user and account properties to enrich downstream tools
Pull user and account segments computed by journy.io for routing and targeting
Validate an API key and inspect available website tracking snippets
Patterns agents use journy.io API for, with concrete tasks.
★ Backend event tracking from the application server
B2B SaaS apps that want clean event data without relying on the JavaScript snippet can call POST /track from the application server when meaningful actions occur — invoice created, plan upgraded, integration connected. The API accepts a user or account ID with a free-form metadata object, and journy.io uses these events to compute signals for sales and success teams. This is the recommended path for events that don't have a natural front-end origin.
Call POST /track with name='created_invoice', accountId='30', metadata={amount: 100, plan: 'Pro'} after the invoice is persisted in the database
Sync user and account state nightly
Product teams typically run a nightly job that upserts every user and account into journy.io to keep computed properties fresh. POST /users/upsert and POST /accounts/upsert accept stable IDs and a properties bag, and the calls are idempotent — re-upserting with the same ID updates the record. This keeps things like plan, MRR, and registration date current even when no behavioural events fire that day.
Iterate every account in the database, call POST /accounts/upsert with accountId and properties, then POST /users/upsert for each user on the account
Read segments to drive in-product targeting
Once journy.io has computed user and account segments (e.g., 'high-intent trials', 'churn risk'), the application can read them via GET /segments/users and GET /segments/accounts to drive in-product behaviour — show a different upsell, route to a different success rep, or trigger a specific email. This avoids duplicating segmentation logic in the app.
Call GET /segments/accounts to fetch the 'high-intent trials' segment, then route those accounts to the assigned customer success rep
GDPR delete-on-request
When a user invokes their right to be forgotten, the application server can issue DELETE /users with the user ID to remove the record from journy.io. DELETE /accounts performs the equivalent for an organisation. These endpoints fit neatly into a fan-out delete workflow alongside other vendor APIs, ensuring journy.io does not retain orphaned profiles after a request.
Call DELETE /users with userId='20' as part of a GDPR delete fan-out across journy.io and other vendor systems
Agent-driven PLG sync via Jentic
An assistant connected to a CRM or operations tool can keep journy.io in sync without storing the X-Api-Key directly. The agent expresses intent, Jentic resolves to the right operation (POST /users/upsert, POST /track, etc.), injects the API key from the vault, and returns the response. This is useful when the agent orchestrates updates across multiple PLG tools and shouldn't hold any of their long-lived keys.
Use Jentic to search 'upsert journy.io user', load POST /users/upsert, and execute it with the user's stable ID and updated plan property
16 endpoints — journy.
METHOD
PATH
DESCRIPTION
/users/upsert
Create or update a user
/accounts/upsert
Create or update an account
/track
Track an event
/accounts/users/add
Add users to an account
/accounts/users/remove
Remove a user from an account
/users
Delete a user
/segments/users
Get user segments
/link
Link web activity to a user
/users/upsert
Create or update a user
/accounts/upsert
Create or update an account
/track
Track an event
/accounts/users/add
Add users to an account
/accounts/users/remove
Remove a user from an account
Three things that make agents converge on Jentic-routed access.
Credential isolation
journy.io API keys are stored encrypted in the Jentic vault. The X-Api-Key header is injected on each request at execution time, so the long-lived key never appears in the agent's prompt, conversation history, or downstream logs.
Intent-based discovery
Agents search Jentic with intents like 'upsert a journy.io user' or 'track a product event' and Jentic returns the matching journy.io operation with its input schema, replacing manual reading of developers.journy.io.
Time to first call
Direct journy.io integration: 1-3 days to set up server-side tracking, upsert flows, rate-limit handling, and segment reads. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using journy.io API through Jentic.
What authentication does the journy.io API use?
The journy.io API expects an X-Api-Key header on every request. Keys are managed in the journy.io connections screen and can be scoped by permission. Jentic stores the key encrypted and injects the X-Api-Key header at call time, keeping it out of the agent's prompt context.
Can I track events server-side instead of via the JavaScript snippet?
Yes. POST /track accepts an event name, an associated user or account ID, and a metadata object. journy.io recommends server-side tracking for events that don't have a natural front-end origin, which gives cleaner data than relying on the snippet alone.
What are the rate limits for the journy.io API?
journy.io's published rate limit is 1800 requests per minute per API key. Every response includes X-RateLimit-Limit and X-RateLimit-Remaining headers — watch these and back off as remaining approaches zero. Contact journy.io for higher throughput if needed.
How do I upsert a user through Jentic?
Search Jentic for 'upsert a journy.io user', load POST /users/upsert, and execute with the user's stable ID and properties. Jentic injects the X-Api-Key header. Sign up at https://app.jentic.com/sign-up.
How do I remove a user from an account?
Call POST /accounts/users/remove with the account ID and the user ID to revoke account membership without deleting the user record. To wipe the user entirely, call DELETE /users — the difference matters for GDPR vs. seat-management workflows.
Can I read journy.io segments from the API?
Yes. GET /segments/users and GET /segments/accounts return the segments computed by journy.io. Use this to drive in-product targeting or routing without duplicating segmentation logic in your application.
/users
Delete a user
/segments/users
Get user segments
/link
Link web activity to a user